2015-11-19 1 views
0

Я хочу, чтобы paste() какой-то текст в легенде на моем сюжете, но я не могу получить R, чтобы правильно читать команды c() и paste().объединение легенды и вставки команды в базе R-графика

plot(1:10,1:10,type="n") 

a <- 23 
b <- 32 

legend("topleft",inset=0.05, 
     legend=c("1-15: n=[23]\nEstimated","15+: n=[32]\nAveraged"), 
     lty=c(1,1),col=c("black","red"),bty="n",cex=1.5) 

legend("topright",inset=0.05, 
     legend=c(paste("1-15: n=[",a,"]\nEstimated","15+: n=[32]\nAveraged")), 
     lty=c(1,1),col=c("black","red"),bty="n",cex=1.5) 

поэтому легенда слева создана вручную, мой желаемый результат - создать то же самое с правой стороны.

ответ

1

Вы были близки. Я считаю, что это то, что вы хотите:

plot(1:10, 1:10, type="n") 
a <- 23 
b <- 32 

legend("topright", inset = 0.05, 
     legend = c(paste("1-15: n=[", a, "]\nEstimated"), 
        paste(" 15+: n=[", b, "]\nAveraged")), 
     lty = c(1,1), 
     col = c("black","red"), bty = "n", cex = 1.5) 
+0

Чтобы избежать чего-то вроде этого '[32]' вы бы, вероятно, использовать 'paste0' – David

+0

Аааа, так близко. но спасибо за помощь – user08041991

+0

sprintf может выглядеть красиво здесь – bramtayl