我试图将其名称构建在for循环模型上的变量的内容传递到R中的中间对象,但没有成功:
my_list <- list(first = "un", second = "deux", third = "trois")
my_vect <- c("first","second","third")
for(i in my_vect){intermediate <- get(paste("my_list$",i,sep=""))} get中的错误(粘贴(“my_list$”,i,sep = "")):对象'my_list$first‘找不到**
my_list$first
[1] "un" 为什么R找不到明显存在的对象my_list$first,并对un进行评估?
发布于 2019-06-16 19:59:38
我们可以用[[代替$
my_list[[my_vect[1]]]
#[1] "un"使用for循环
out <- vector('list', length(my_vect))
for(i in seq_along(my_vect)) out[[i]] <- my_list[[my_vect[i]]]或者是基于整个“my_vect”的子集
my_list[my_vect]发布于 2019-06-16 20:11:04
谢谢,它解决了:
out <- vector('list', length(my_vect))
for(i in seq_along(my_vect)) out[[i]] <- my_list[[my_vect[i]]]
out
#[[1]]
#[1] "un"
#[[2]]
#[1] "deux"
#[[3]]
#[1] "trois"
for(i in seq_along(my_vect)) out <- my_list[[my_vect[i]]]
out
#[1] "trois"我只是想用一个固定的名字来捕捉其中的一部分.干杯:)
https://stackoverflow.com/questions/56622198
复制相似问题