在 R 环境中加载的各个数据表中,我有 AAPL、GOOG、TXN 等(标准普尔 500 指数的所有成分)的 OHLC+Volume 数据。所有数据表都有 7 列,但并非所有数据表都有相同的行数。
我需要合并所有的表,一个在另一个之上。为了区分合并表中的各个公司,需要一个附加列,其中包含从原始表中获取的所有行的原始表的名称。不存在要合并的表列表。需要合并 R 工作区中的所有现有表。为不清楚而道歉。
性能也可能是一个问题;它可以很容易地跨越 8 行超过 300 万行。尝试使用 plyr 和 reshape,但无济于事。
举个例子:
Table1: named AAPL
col1 col2
1. 2 4
2. 3 11
Table2: named GOOG
col1 col2
1. 10 12
2. 14 19
3. 11 15
Merged Table: named OUTPUT
col1 col2 col3
1. 2 4 AAPL
2. 3 11 AAPL
3. 10 12 GOOG
4. 14 19 GOOG
5. 11 15 GOOG
实际数据样本:
> str(ASTRAZEN)
'data.frame': 3440 obs. of 7 variables:
$ DATE : int 20130628 20130628 20130628 20130628 20130628 20130628 20130628 20130628 20130628 20130628 ...
$ TIME : int 916 917 918 919 920 921 922 923 924 925 ...
$ CLOSE : num 660 658 654 657 654 ...
$ HIGH : num 660 660 655 657 656 ...
$ LOW : num 653 654 654 652 652 ...
$ OPEN : num 654 660 655 654 655 ...
$ VOLUME: int 522 265 320 498 417 138 135 975 132 126 ...`
> head(ASTRAZEN)
DATE TIME CLOSE HIGH LOW OPEN VOLUME
1 20130628 916 659.95 659.95 652.55 654.00 522
2 20130628 917 658.00 659.95 654.20 659.95 265
3 20130628 918 654.00 655.00 654.00 655.00 320
4 20130628 919 656.65 656.65 652.50 654.00 498
5 20130628 920 653.65 655.85 651.95 655.00 417
6 20130628 921 654.00 654.50 654.00 654.50 138