【问题标题】:r- replace value variable in loopr-在循环中替换值变量
【发布时间】:2015-03-22 14:23:05
【问题描述】:

我需要在循环中打印一个值变量。我正在使用 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 'improve',在第二个循环中打印'maintain',在第三个循环中打印'worsen'。但我得到“列表(“改进”)”, 那 bquote 到底是做什么的?有没有其他方法可以解决它? 谢谢。

【问题讨论】:

  • 你想打印什么?
  • 你可以试试for (i in 1:3) { print(nombre[[i]][1]) }。我不确定我是否理解为什么要使用 paste 和 as.character 等,如果您只想以 nombre 打印这些值。 (类似:sapply(nombre, [, 1)
  • 您可以只使用print(nombre) 并打印所有3 个,或者sapply(nombre, print)

标签: r loops variables replace


【解决方案1】:

要将这三个都打印为矢量,您可以使用

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

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

【讨论】:

    【解决方案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)
    }
    

    我还是不知道这~是干什么的?

    【讨论】:

      猜你喜欢
      • 2021-08-01
      • 2018-05-12
      • 2012-08-28
      • 1970-01-01
      • 2018-10-22
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 2020-10-01
      相关资源
      最近更新 更多