全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
12322 9
2014-08-20
悬赏 100 个论坛币 已解决
我有两个矩阵如下:A:
1   20130104 1.0024
2   20130107 1.0218
3   20130506 1.1723
4   20130507 1.1689
5   20130508 1.1764
6   20130509 1.1619
7   20130510 1.1654
8   20130513 1.1498
9   20130514 1.1135
10  20130515 1.1140
11  20130516 1.1723
12  20130517 1.1770
13  20130520 1.2110
14  20130521 1.2179
15  20130522 1.2214
16  20130523 1.1845
17  20130524 1.1943
18  20130527 1.1787
19  20130528 1.2468
20  20130529 1.2283
21  20130530 1.2237
22  20130531 1.2116
23  20130603 1.2070
24  20130604 1.2197
25  20130605 1.2012



B:
82  20130412 1.8587
39  20130415 1.8201
40  20130416 1.8394
41  20130417 1.8804
42  20130418 1.8169
43  20130419 1.8731
127 20130422 1.9310
87  20130423 1.8530
44  20130424 1.8756
200 20130425 1.8555
114 20130426 1.7654
45  20130502 1.6851
88  20130503 1.7163
46  20130506 1.7468

我想把A和B合并为一个矩阵,都按照A列的时间顺序排列,也就是说把B列中对应日期的值放在A列同一日期的行上,没有的数据就是NA。
循环我知道可以做到,但是由于数据量比较大,我想问问有没有简单的方法可以做到?

最佳答案

西皮皮 查看完整内容

用merge 先给你的A和B的两列一个名字,比如A中第一列为date,第二例为price。B第一列为D,二列为P mergedate
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-8-20 15:06:08
用merge

先给你的A和B的两列一个名字,比如A中第一列为date,第二例为price。B第一列为D,二列为P
mergedate <- merge (A,B, by.x ="date", by.y =“D”)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-20 15:24:59
顶一下!!!!!!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-20 16:09:29
m1 <- merge(A, B, by.x = "date", by.y = "D",all =TRUE)

这样的话,没有的数据就会出现NA啦
我用我的电脑试了一下,是可以的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-20 16:38:35
西皮皮 发表于 2014-8-20 16:09
m1
Error in fix.by(by.x, x) : 'by'必需指定唯一有效的列
这个x和y需要设定么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-20 16:41:36
你A表里的列明是什么。这个by.x 指的是按照A表里的那个去合并
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群