2012-02-06 75 views
4

特殊字符我有一個​​表,它看起來像這樣:中的R語言

1β    2β  
1.0199e-01  2.2545e-01  
2.5303e-01  6.5301e-01 
1.2151e+00  1.1490e+00 

等等...

我想使這個數據的箱線圖。我使用的命令是這樣的:

pdf('rtest.pdf') 
w1<-read.table("data_CMR",header=T) 
w2<-read.table("data_C",header=T) 
boxplot(w1[,], w2[,], w3[,],outline=FALSE,names=c(colnames(w1),colnames(w2),colnames(w3))) 
dev.off() 

的問題是不是象徵β(β),我得到的輸出兩個點(..)。

有什麼建議可以解決這個問題。

預先感謝您。

+2

將'check.names = FALSE'添加到'read.table'命令可能會有所幫助 – James 2012-02-06 15:10:16

+0

@James:爲什麼不作爲答案? – 2012-02-06 15:19:08

+0

@DWin我不能重現行爲,所以不知道它是否會工作。 – James 2012-02-06 15:28:13

回答

3

這也適用

pdf('rtest.pdf') 
w1<-read.table("data_CMR",header=T) 
w2<-read.table("data_C",header=T) 
one<-expression(paste("1", beta,sep="")) 
two <- expression(paste("2", beta,sep="")) 
boxplot(w1[,], w2[,], w3[,],outline=FALSE, names=c(one,two)) 
dev.off() 
0

這可能是一個編碼問題。嘗試將encoding='UTF-8'添加到您的read.table語句中。

w1<-read.table("data_CMR",header=T,encoding='UTF-8') 
+0

我試圖將fileEncodings也稱爲「ASCII」,「UCS-2LE」和「latin1」,並且無法複製任何報告的報告行爲,但後來我在Mac/Unix機器上。 – 2012-02-06 16:18:55

3

使用check.names將防止「X」的追加到建議的「1β」和「2β」甚至一度編碼整理出來(因爲列名不應該,否則將發生開始的數字。(你也可以只用 「名」 的說法,以箱線圖。)

w1<-read.table(text="1β    2β  
1.0199e-01  2.2545e-01  
2.5303e-01  6.5301e-01 
1.2151e+00  1.1490e+00",header=TRUE, check.names=FALSE, fileEncoding="UTF-8") 
boxplot(w1) 

enter image description here