将来自不同数据框的相同列组合成新的数据框
combine same column from various data frames into new dataframe
我有几个这样的数据框:
df1
Time Terrain
1 Land
2 Land
3 Land
4 Land
我想从每个数据帧中取出列 "Terrain" 并将它们全部放入一个新数据帧中,为新数据帧的列指定从中提取的数据帧的名称。应如下所示:
combined_terrain
df1 df2 df3
Land Land Sea
Land Sea Air
Land Sea Land
Land Sea Land
我知道我必须使用 cbind
,但我有多个数据框,不想逐一输入。我是否通过列出不同的数据帧来循环它?
将所有数据集(假设它以 'df' 开头,后跟数字)放在 list
('lst') 中。然后使用lapply
提取'Terrain'和cbind
它
setNames(do.call(cbind, lapply(lst, `[`, 'Terrain')), nm1)
数据
nm1 <- ls(pattern="df\d+")
lst <- mget(nm1)
我有几个这样的数据框:
df1
Time Terrain
1 Land
2 Land
3 Land
4 Land
我想从每个数据帧中取出列 "Terrain" 并将它们全部放入一个新数据帧中,为新数据帧的列指定从中提取的数据帧的名称。应如下所示:
combined_terrain
df1 df2 df3
Land Land Sea
Land Sea Air
Land Sea Land
Land Sea Land
我知道我必须使用 cbind
,但我有多个数据框,不想逐一输入。我是否通过列出不同的数据帧来循环它?
将所有数据集(假设它以 'df' 开头,后跟数字)放在 list
('lst') 中。然后使用lapply
提取'Terrain'和cbind
它
setNames(do.call(cbind, lapply(lst, `[`, 'Terrain')), nm1)
数据
nm1 <- ls(pattern="df\d+")
lst <- mget(nm1)