我想遍历下面的每个变量并打印变量的名称(例如“variable1”),但也会在变量值中打印变量值(例如5)登录。任何帮助,将不胜感激,谢谢如何将字符串解析为变量
variable1 <- 5
variable2 <- 3
variable3 <- 1
variable_list <- c("variable1", "variable2", "variable3")
for (i in variable_list) {
print(i)
}
我想遍历下面的每个变量并打印变量的名称(例如“variable1”),但也会在变量值中打印变量值(例如5)登录。任何帮助,将不胜感激,谢谢如何将字符串解析为变量
variable1 <- 5
variable2 <- 3
variable3 <- 1
variable_list <- c("variable1", "variable2", "variable3")
for (i in variable_list) {
print(i)
}
我更喜欢其他的人回答,但更一般的,你可以执行的字符串R代码 通过使用eval
和parse
的组合
variable1 <- 5
variable2 <- 3
variable3 <- 1
variable_list <- c("variable1", "variable2", "variable3")
for (i in variable_list) {
print(i)
print(eval(parse(text=i)))
}
回报:
[1] "variable1"
[1] 5
[1] "variable2"
[1] 3
[1] "variable3"
[1] 1
尝试'打印(C(I,得到(I)))' – akrun 2014-10-20 14:03:37
感谢快速回复! – 2014-10-20 14:07:02
我不知道是否像as.matrix(unlist(mget(ls(pattern =“variable \\ d +”))))'会为你工作(没有循环)。或者只是'unlist(ls(pattern =“variable \\ d +”)))' – 2014-10-20 14:25:32