2014-04-01 97 views
1

我正在做盒子,並有傳奇的問題。具體而言,我想要寫「≥2:N = formatC(nrow(X))」,但不能結合的命令爲≥符號,計算nrow(x)formatC(nrow(x), bigmark=","),應該給用千分的nrow號碼的功能。R:如何在劇情圖例中寫入「≥2:n = nrow(x)」?

我試過到目前爲止:

smoke <- matrix(c(1:1200),ncol=1,byrow=TRUE) 
colnames(smoke) <- c("High") 
smoke <- as.table(smoke) 

pdf('test.pdf') 
plot(NA,xlim=c(0,100),ylim=c(0,100)) 
legend(10,70,bquote(paste(NA>=2, ": n=", .(formatC(nrow(smoke)), big.mark=",")))) 
dev.off() 

這給:≥ 2: n=1200

我想有:≥2: n=1,200

看來,formatC下不bquote工作,我也想刪除≥符號後的空格。

我也嘗試:

legend(x,y, legend=c(expression(NA>=2), paste(": n=", formatC(nrow(smoke)), sep=""))) 

,其給出了兩條線的圖例: ≥ 2 : n=1200

pasteexpression之前給出一條線,但不轉換> =到≥。

我導出圖表爲PDF,目前工程爲≥符號。我寧願保持這一點。 Unicode在我手中不適用於pdf。

由於提前, 菲利普

回答

1

你在錯誤的地方)smoke之後,所以它需要的big.mark參數爲paste而不是formatC一部分。試試這個:

legend(10,70,bquote(paste(NA>=2, ": n=", .(formatC(nrow(smoke), big.mark=","))))) 

enter image description here

+0

非常感謝你,我沒有發現這樣的錯誤。是否還有辦法去除≥和2之間的空間? – user3485328

+0

@ user3485328您可以通過在'paste'調用中使用'paste0'而不是'paste'或指定'sep =「」'來刪除空格。 – Gregor

+0

@ user3485328'≥'和'2'之間沒有多餘的空格。如果你只是'傳說(10,70,bquote(3> = 2))',你會發現它只是常規空間。 –