我想遍歷下面的每個變量並打印變量的名稱(例如「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