楼主: lanhong1993
1633 15

[问答] 求助!!如何进行数据合并?? [推广有奖]

  • 1关注
  • 1粉丝

已卖:286份资源

博士生

54%

还不是VIP/贵宾

-

威望
0
论坛币
2701 个
通用积分
3.4261
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
12167 点
帖子
214
精华
0
在线时间
141 小时
注册时间
2016-11-1
最后登录
2024-3-26

楼主
lanhong1993 发表于 2017-2-8 14:59:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如我有两个数据框data1如下:
id          time1                        outcome1      
2     2016/02/03 14:23:00           78            
2     2016/02/03 15:24:00           89
2     2016/02/03 18:44:00           90
2     2016/02/04 08:23:00           77
2     2016/02/04 12:33:00           100
2     2016/02/05 09:12:00           108
2     2016/02/06 14:25:00           103
3     2016/03/12 13:26:00           100           
3     2016/03/12 15:35:00           99
3     2016/03/13 17:46:00           98
4     2016/03/03 16:23:00           109           
4     2016/03/03 19:55:00           95
4     2016/03/04 20:25:00           93
4     2016/03/04 14:23:00           87
4     2016/03/04 17:20:00           113
5     2016/02/08 14:23:00           106           
5     2016/02/08 15:24:00           80

...           ...                   ...           ...
数据框data2如下:
id          time2                         outcome2      
2     2016/02/03 15:28:00           1.3            
2     2016/02/03 15:40:00           1.8
2     2016/02/03 18:44:00           2.0
2     2016/02/04 08:23:00           2.1
3     2016/02/04 12:33:00           2.1
3     2016/02/05 09:12:00           1.2
3     2016/02/06 14:25:00           1.1
3     2016/03/12 13:26:00           0.9           
3     2016/03/12 15:35:00           1.4
3     2016/03/13 17:46:00           1.3
4     2016/03/03 16:23:00           1.8           
4     2016/03/03 19:55:00           2.3
4     2016/03/04 20:25:00           2.3
5     2016/03/04 14:23:00           1.2
5     2016/03/04 17:20:00           1.0
5     2016/02/08 14:23:00           2.6           
5     2016/02/08 15:24:00           2.2

...           ...                   ...           ...

其中,两个数据框中每个id的数量不相等,如何将两个数据框合并成如下形式呢?

id             time1              outcome1              time2               outcome2
2   2016/02/03 14:23:00     78       2016/02/03 15:28:00           1.3     
2   2016/02/03 15:24:00     89       2016/02/03 15:40:00           1.8
2   2016/02/03 18:44:00     90       2016/02/03 18:44:00           2.0
2   2016/02/04 08:23:00     77       2016/02/04 08:23:00           2.1
2   2016/02/04 12:33:00     100      NA                                         NA
2   2016/02/05 09:12:00     108      NA                                         NA
2   2016/02/06 14:25:00     103      NA                                         NA
3   2016/03/12 13:26:00     100      2016/02/04 12:33:00          2.1     
3   2016/03/12 15:35:00     99       2016/02/05 09:12:00           1.2
3   2016/03/13 17:46:00     98       2016/02/06 14:25:00           1.1
3   NA                                    NA       2016/03/12 13:26:00           0.9   
3   NA                                    NA       2016/03/12 15:35:00           1.4
3   NA                                    NA       2016/03/13 17:46:00           1.3
4   2016/03/03 16:23:00     109      2016/03/03 16:23:00          1.8      
4   2016/03/03 19:55:00     95       2016/03/03 19:55:00           2.3
4   2016/03/04 20:25:00     93       2016/03/04 20:25:00           2.3
4   2016/03/04 14:23:00     87        NA                                          NA
4   2016/03/04 17:20:00     113      NA                                          NA
5   2016/02/08 14:23:00     106      2016/03/04 14:23:00           1.2
5   2016/02/08 15:24:00     80        2016/03/04 17:20:00           1.0
5   NA                                    NA       2016/02/08 14:23:00           2.6   
5   NA                                    NA       2016/02/08 15:24:00           2.2

...           ...                   ...           ...

二维码

扫码加我 拉你入群

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

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

关键词:如何

沙发
jameschin007 发表于 2017-2-8 22:31:14
select  data1.id  id,    time1 ,outcome1  ,  time2 ,  outcome2 from data1 outter join data2 on data1.id= data2.id

藤椅
lanhong1993 发表于 2017-2-8 22:38:51
jameschin007 发表于 2017-2-8 22:31
select  data1.id  id,    time1 ,outcome1  ,  time2 ,  outcome2 from data1 outter join data2 on data1 ...
这是要用sql语言吧?

板凳
lanhong1993 发表于 2017-2-8 22:59:16 来自手机
jameschin007 发表于 2017-2-8 22:31
select  data1.id  id,    time1 ,outcome1  ,  time2 ,  outcome2 from data1 outter join data2 on data1 ...
用这种方法,缺失值(NA)会显示出来么?

报纸
lanhong1993 发表于 2017-2-8 22:59:53 来自手机
jameschin007 发表于 2017-2-8 22:31
select  data1.id  id,    time1 ,outcome1  ,  time2 ,  outcome2 from data1 outter join data2 on data1 ...
用R语言内部函数该怎么实现呢?

地板
rj鲨兽 发表于 2017-2-9 00:15:27 来自手机
lanhong1993 发表于 2017-2-8 14:59
比如我有两个数据框data1如下:
id          time1                        outcome1      
2     2016/0 ...
merge()函数可以实现

7
jameschin007 发表于 2017-2-9 09:12:44
lanhong1993 发表于 2017-2-8 22:59
用R语言内部函数该怎么实现呢?
sqldf包。   newdf = sqldf("sql statement")
完美解决

outter join 就是为了支持N/A

8
jameschin007 发表于 2017-2-9 09:14:49
lanhong1993 发表于 2017-2-8 22:59
用R语言内部函数该怎么实现呢?
看你的数据源是什么。如果是数据库。就先在数据库里把数据处理好。
然后再读到R里。如果是其他离线数据格式,就用sqldf搞,存成一个新的df。

9
lanhong1993 发表于 2017-2-9 09:29:44
jameschin007 发表于 2017-2-9 09:14
看你的数据源是什么。如果是数据库。就先在数据库里把数据处理好。
然后再读到R里。如果是其他离线数据格 ...
好的,我试试。先谢谢您啦!

10
lanhong1993 发表于 2017-2-9 09:30:12
rj鲨兽 发表于 2017-2-9 00:15
merge()函数可以实现
merge不行的,试过了。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-21 22:42