我有496个S& P 500股票的数据框架。每个数据框都有不同的名称和列名称,如这些
AAL.Open AAL.High AAL.Low AAL.Close AAL.Volume
09-12-13 23.85 25.44 23.45 24.6 43197268
10-12-13 24.5 25.17 24.41 24.88 18660625
AA.Open AA.High AA.Low AA.Close AA.Volume
09-12-13 22.5 24.25 20.13 21 6639
10-12-13 21.2 21.2 20.89 21 10963
现在,我想通过获取每个数据帧的特定列来完成496列的新数据框
AAL.High AA.High ----- ------
09-12-13 25.44 24.25
10-12-13 25.17 21.2
答案 0 :(得分:2)
我们将数据集放在tap
中并提取感兴趣的列。根据OP的代码,列名称并不精确。那么,我们可以使用list
grep
或通过数字索引的列位置
do.call(cbind, lapply(lst, function(x) x[grep("High", names(x))]))
注意:假设数据集为do.call(cbind, lapply(lst, function(x) x[2]))
data.frame
或lst <- list(d1, d2)
dput