Subset/select 来自基于另一个数据框的数据框的列

Subset/select columns from dataframe based on another dataframe

我想 select 数据框 df 中的列借助于另一个数据框 dfkey 的名称(但不是必需的,即可以转换为列表等),它充当某种键并存储了 df 的一些列名。示例如下:

df <- data.frame(matrix(runif(25), 5))
names(df) <- c("T1", "T2", "T3", "T4", "T5")
dfkey <- data.frame(c("T2", "T3", "T5"))
colnames(dfkey) <- "key"

结果应该是一个只剩下 T2、T3 和 T5 列的数据框。

'dfkey' 数据集中的 'key' 列是 factor class。我们将其转换为character,然后将其用于subset 'df'.

的列
 df[as.character(dfkey$key)]