如何将字符串解析为变量

时间:2014-10-20 14:02:10

标签: r

我想循环遍历下面的每个变量并打印变量的名称(例如“variable1”),但也会在日志中打印变量值(例如5)。任何帮助将不胜感激,谢谢

variable1 <- 5
variable2 <- 3
variable3 <- 1

variable_list <- c("variable1", "variable2", "variable3")

for (i in variable_list) {
  print(i)
}

2 个答案:

答案 0 :(得分:1)

你也可以这样做:

 for(i in variable_list){
   cat(paste0("\t", sprintf("%s %d \n", i, get(i))))
 }

返回:

 variable1 5 
 variable2 3 
 variable3 1 

答案 1 :(得分:1)

我更喜欢其他人的回答,但更一般的是你可以执行R代码的字符串 使用evalparse

的组合
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