r-在循环中替换值变量

时间:2015-01-23 14:07:57

标签: r loops variables replace

我需要在循环中打印一个值变量。我正在使用bquote但没有得到理想的结果。 我的代码是:

x<-c(1,2,3,4,5)
y<-x**2

nombre<-list('improve', 'maintain', 'worsen')
for (i in 1:3) {
aa<-nombre[i]
print(aa)
foo <- paste0(as.character(bquote( ~.(aa))),collapse='')
  print(foo)
plot(x,y)
mtext(foo)

}

我需要使用foo中存储的值作为图形中的mtext。因此,我需要在第一个循环中打印“改进”,在第二个循环中“维护”,在第三个循环中打印“恶化”。但我得到“列表(”改进“)”, 那个bquote到底是做什么的?还有其他方法可以解决吗? 感谢。

2 个答案:

答案 0 :(得分:0)

要将所有三个作为矢量打印,您可以使用

sapply(nombre, function(x) { x})

评论中的其他答案可能会对您有所帮助。

答案 1 :(得分:0)

解决方案是:

nombre<-list('improve', 'maintain', 'worsen')
for (i in 1:3) {
aa<-nombre[i]
print(aa)
foo <- paste0(as.character(bquote( .(aa))),collapse='')
print(foo)
plot(x,y)
mtext(foo)
}

我还不知道这是做什么的?