2010-12-01 33 views
-1

我想將一個表的結果寫入一個文件中,並且我的列名包含' - '字符,但是當我將它寫入文件時,它將用'。'替換所有' - '。如何禁止R將「 - 」字符更改爲「。」。寫入文件時的字符?

function(Result,Path) 
{ 
    Num<-0 
    for(i in 1:length(Result[,1])) 
    { 

    if(length(which([Result[i,]>0))>0) 
    { 
     temp<-which(Result[i,]>0)] 
     val<-paste(names(temp),sep="\n") 
     write(val,file=paste(Path,"/Result",Num,".txt",sep="")) 
     Num<-Num+1 
    } 
    } 
} 

做任何一個知道如何禁用此選項?

我的列名其中一些是這樣寫的YER060W-A

預先感謝您的蛋白質名。

+0

你能更具體嗎? – 2010-12-01 01:53:55

+0

你能分享你用來寫出文件的語法嗎? – 2010-12-01 02:06:09

回答

2

製作這樣一個實體需要特別小心。但是,您可以使用col.names參數併爲其指定colnames(dfrm)。

> tst <- data.frame(`a-b`= letters[1:10], `1-2`=1:10, check.names=FALSE) 
> colnames(tst) 
[1] "a-b" "1-2" 
> write.table(tst, file="tst.txt", col.names=colnames(tst)) 

從我的編輯粘貼:

"a-b" "1-2" 
"1" "a" 1 
"2" "b" 2 snipped the rest... 

與write.table沒有成功?我看到write()與write.table沒有相同的選項集。讓我們與具有朦朧的名字的數組(而不是一個數據幀) 「 - 」 的:

DCtest <- array(1:27, c(3,3,3)) 
dimnames(DCtest) <- list(dim1 =c(a="a-b",b="b-c",c="c%d"), 
         dim2=letters[4:6], 
         dim3= letters[7:9]) 

一個快速的方式來獲得輸出只是capture.output():

capture.output(DCtest, file="testm.txt") 

TESTM。 TXT現在看起來像這樣在編輯器:

, , dim3 = g 

    dim2 
dim1 d e f 
    a-b 1 4 7 
    b-c 2 5 8 
    c%d 3 6 9 

, , dim3 = h 

    dim2 
dim1 d e f 
    a-b 10 13 16 
    b-c 11 14 17 
    c%d 12 15 18 

, , dim3 = i 

    dim2 
dim1 d e f 
    a-b 19 22 25 
    b-c 20 23 26 
    c%d 21 24 27 

你也不要忘記,捕獲輸出有,如果你想通過數組追加連續切片,追加=參數。

相關問題