for (i in c(“tmp1”, “tmp2”, “tmp3”)) {
- print(i)
- }
[1] “tmp1”
[1] “tmp2”
[1] “tmp3”
for (i in c(“tmp1”, “tmp2”, “tmp3”)) {
- print(get(i))
- }
[1] 0 0 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 0 0 0
[1] 0 0 0 0 0 0 0 0 0 0
但是get(i)[2] = 1 时报错
Error in get(i)[1] = 2 : 没有"get<-"这个函数
这时需要用到eval和parse
for (i in c(“tmp1”, “tmp2”, “tmp3”)) {
- eval(parse(text = paste0(format(i),"[1] = 1")))
- print(get(i))
- }
[1] 1 0 0 0 0 0 0 0 0 0
[1] 1 0 0 0 0 0 0 0 0 0
[1] 1 0 0 0 0 0 0 0 0 0