R data.table 到向量使用变量名称作为 data.table 名称?

R data.table to vector using variable name as data.table name?

我想使用变量作为 df 名称,但不知道如何操作。 我可以这样做

 'vector2 <- df$columname'

如果我想循环查看不同的数据表,我做不到。 vector1 是我要将列数据放入 vector2 的 data.tables 的名称。

我希望循环执行此操作

 'vector2 <- one$columname'
 'vector2 <- two$columname'
 'vector2 <- three$columname'

每次通过循环时更改 data.table 名称,保持列名称相同。

'vector1<- c("one","two","three")
for(i in vector1) {
vector2 <- vector1$columname
}'

根据 OP post 中的更新,使用 mget(return 将所有对象的值放入命名列表中)或 get(对于单个元素 - 可以在 for 循环中使用)到 return 数据集名称的值,即 'one'、'two'、'three'

lst1 <- lapply(mget(vector1), function(x) x$columname)

如果应该是单个向量

vector2 <- unlist(lst1)

for循环中,可以按

for(i in vector1) vector2 <- get(i)$columname

这会在每次迭代中替换 'vector2' 并获取最后一个列名,即来自 'three'。如果我们需要创建一个向量

vector2 <- c()
for(i in vector1) vector2 <- c(vector2, get(i)$columname)