楼主: chline
1637 3

[问答] 两个list A,B,根据里面数据框的variable列,匹配两个数据框的value列的值 [推广有奖]

  • 0关注
  • 0粉丝

高中生

35%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
127 点
帖子
10
精华
0
在线时间
46 小时
注册时间
2013-3-15
最后登录
2020-5-8

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
两个list A,B,根据里面数据框的variable列,匹配两个数据框的value列的值,合并成新的数据框,生成新的list只有两个数据框我会用merge,但是list里面要怎么处理呢?

A:
$`2015-01-29`
            tesd  variable     value
40847 2015-01-29 002703.SZ 3.6680556
17319 2015-01-29 600876.SH 3.0885714
8323  2015-01-29 002490.SZ 3.0711974
50535 2015-01-29 000585.SZ 2.6444444
54687 2015-01-29 601038.SH 2.5928571
61607 2015-01-29 600871.SH 2.5473251
51919 2015-01-29 601727.SH 2.3657025

$`2015-01-30`
            tesd  variable     value
40848 2015-01-30 002703.SZ 3.6255201
17320 2015-01-30 600876.SH 3.0697674
8324  2015-01-30 002490.SZ 3.0129450
50536 2015-01-30 000585.SZ 2.7277778
54688 2015-01-30 601038.SH 2.6672504
61608 2015-01-30 600871.SH 2.4379845
51920 2015-01-30 601727.SH 2.2962185

$`2015-02-02`
            tesd  variable     value
40849 2015-02-02 002703.SZ 3.5230352
8325  2015-02-02 002490.SZ 3.0803859
17321 2015-02-02 600876.SH 3.0338462
50537 2015-02-02 000585.SZ 2.7613636
54689 2015-02-02 601038.SH 2.5626168
61609 2015-02-02 600871.SH 2.5338645
65069 2015-02-02 603993.SH 2.3291667
B:

$`2015-01-05`
          adates  variable value
1     2015-01-05 002202.SZ     0
694   2015-01-05 601111.SH     0
1387  2015-01-05 600600.SH     0
2080  2015-01-05 600029.SH     0
2773  2015-01-05 600115.SH     0
3466  2015-01-05 600188.SH     0
4159  2015-01-05 000039.SZ     0
4852  2015-01-05 600660.SH     0
5545  2015-01-05 000063.SZ     0
6238  2015-01-05 601881.SH     0
6931  2015-01-05 600775.SH     0

$`2015-01-06`
          adates  variable        value
2     2015-01-06 002202.SZ  0.001386963
695   2015-01-06 601111.SH  0.040914798
1388  2015-01-06 600600.SH  0.006572794
2081  2015-01-06 600029.SH  0.017730961
2774  2015-01-06 600115.SH  0.019625964
3467  2015-01-06 600188.SH  0.063460354
4160  2015-01-06 000039.SZ -0.007722046
4853  2015-01-06 600660.SH  0.013751172
5546  2015-01-06 000063.SZ  0.056252047

$`2015-01-07`
          adates  variable        value
3     2015-01-07 002202.SZ -0.022425607
696   2015-01-07 601111.SH  0.020937404
1389  2015-01-07 600600.SH -0.014137841
2082  2015-01-07 600029.SH  0.010489607
2775  2015-01-07 600115.SH  0.014035318
3468  2015-01-07 600188.SH -0.010409983




二维码

扫码加我 拉你入群

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

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


沙发
jiangbeilu 学生认证  发表于 2018-1-16 19:17:25 |只看作者 |坛友微信交流群
先用do.call('rbind',listA)
把listA组合成一个data.frame,
再对listB如此操作,最后再用merge,
如果你还想要list形式,就用split按照条件拆分开来就好了。
已有 1 人评分论坛币 热心指数 收起 理由
cheetahfly + 10 + 1 精彩帖子

总评分: 论坛币 + 10  热心指数 + 1   查看全部评分

使用道具

藤椅
chline 发表于 2018-1-17 14:04:56 |只看作者 |坛友微信交流群
jiangbeilu 发表于 2018-1-16 19:17
先用do.call('rbind',listA)
把listA组合成一个data.frame,
再对listB如此操作,最后再用merge,
谢谢,但是这个方法会使这个两个基础数据框太大了,merge的效率会很低
不知道有没有其他方法呢?

使用道具

板凳
jiangbeilu 学生认证  发表于 2018-1-18 09:50:21 |只看作者 |坛友微信交流群
chline 发表于 2018-1-17 14:04
谢谢,但是这个方法会使这个两个基础数据框太大了,merge的效率会很低
不知道有没有其他方法呢?
那你就用dplyr里面的left_join或者data.table包里的合并函数吧。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 21:46