簡體   English   中英

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 帖子中的更新,使用mget (將所有對象的值返回到命名列表中)或get (對於單個元素 - 可以在for循環中使用)返回數據集名稱的值,即'one ', '二三'

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM