首页 > 解决方案 > 使用粘贴连接文本以调用 r 中的向量

问题描述

我对 R 很陌生,所以可能仍在考虑电子表格。我想通过函数(效果)循环来自向量(列表)的名称列表,并将文本附加到名称的前面和末尾一些文本(“data$”和“.time0”或“. time1") 所以它引用了我已经加载的数据帧的特定向量(即 data$variable.time0 和 data$variable.time1)。

粘贴只是给了我一个名为“data$variable.time0”或“data$variable.time1”的字符,而不是引用我想要的数据帧的向量。我可以以某种方式将其转换为参考吗?

for (i in list){
  function(i)
}

effect <- function(i){
    time0 <- paste("data$",i,".time0", sep = ""))
    time1 <- paste("data$",i,".time1", sep = "")) 

#code continues but not relevant here

}

标签: rloopsvectorpaste

解决方案


您可以使用eval(parse(text = "..."))来评估字符。

尝试

time0 <- eval(parse(text = paste("data$",i,".time0", sep = ""))))

在你的循环中。


推荐阅读