使用粘贴连接文本以调用 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 = ""))))
在你的循环中。
我对 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 = ""))))
在你的循环中。