使用粘贴连接文本以调用 r 中的向量

Concatinate text using paste to call a vector in r

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

Paste 只是给我一个名为 "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

}

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

尝试

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

在你的循环中。