将来自各种数据帧的相同列组合成新的数据帧

时间:2016-07-01 12:00:30

标签: r dataframe multiple-columns cbind

我有几个看起来像这样的数据框:

[MvcSiteMapNode(Title="Running Events", ParentKey="Events", Key="RunningEvents")]
public ActionResult RunningEvents()
{
    return View();
}

我想把专栏#34; Terrain"从每个数据帧中将它们全部放在一个新的数据帧中,为新数据帧的列提供从中提取的数据帧的名称。应该是这样的:

df1
Time Terrain 
1     Land
2     Land 
3     Land  
4     Land 

我知道我必须使用combined_terrain df1 df2 df3 Land Land Sea Land Sea Air Land Sea Land Land Sea Land ,但我有几个数据框,并且不想输入每个数据框。我是否通过制作不同数据帧的列表来循环它?

1 个答案:

答案 0 :(得分:1)

list(' lst')中放置所有数据集(假设它以' df'后跟数字开头)。然后使用lapply提取地形'和cbind

setNames(do.call(cbind, lapply(lst, `[`, 'Terrain')), nm1)

数据

nm1 <- ls(pattern="df\\d+")
lst <- mget(nm1)