楼主: @PsyJKX
1606 4

[问答] 按行id合并如何实现? [推广有奖]

  • 0关注
  • 0粉丝

高中生

15%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
75 点
帖子
8
精华
0
在线时间
34 小时
注册时间
2013-3-27
最后登录
2016-8-18

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有以下数据格式如表1,V1~V5分别为5个变量,一行为一个个案,id为个案编号,我想实现的处理是:按id整合,同一个id,其V1-V5的数值合并,形成表2的形式

表1
idv1v2v3v4v5

1

0

0

0

0

0

1

1

0

0

1

1

1

0

1

0

0

0

1

1

0

1

0

1

2

1

0

0

0

0

2

0

0

1

0

0

2

0

1

0

1

0

2

0

0

0

0

0

2

0

1

0

0

0

2

0

0

0

0

1

3

1

0

0

1

0

3

0

1

0

0

0



表2
idv1v2v3v4v5

1

2

1

1

1

2

2

1

2

1

1

1



请问用R如何操作呢?
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 如何操作 数据格式 如何

沙发
zerofung 学生认证  发表于 2016-3-8 00:59:30 |只看作者 |坛友微信交流群
假设你的数据框为dt,
mapReduce(id,sum(V1),sum(V2),sum(V3),sum(V4),sum(V5),data=dt)很久以前可以这样做,现在不知道为什么没有了
参照https://bbs.pinggu.org/thread-2632228-1-1.html
已有 1 人评分论坛币 收起 理由
admin_kefu + 25 热心帮助其他会员

总评分: 论坛币 + 25   查看全部评分

使用道具

藤椅
jiangbeilu 学生认证  发表于 2016-3-8 09:06:58 |只看作者 |坛友微信交流群
给你个例子:
用aggregate函数就可以了。
  1. id=as.factor(rep(1:3,each=3))
  2. id
  3. v1=sample(0:1,9,replace=TRUE)
  4. v2=sample(0:1,9,replace=TRUE)
  5. v3=sample(0:1,9,replace=TRUE)
  6. zz <- data.frame(id,v1,v2,v3)
  7. aggregate(cbind(v1,v2,v3)~id,data=zz,sum)
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 25 热心帮助其他会员

总评分: 论坛币 + 25   查看全部评分

使用道具

板凳
万人往LVR 在职认证  发表于 2016-3-8 09:07:36 |只看作者 |坛友微信交流群
  1. library(sqldf)
  2. sqldf("select id,sum(V1),sum(V2) from data group by id")
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

报纸
@PsyJKX 发表于 2016-3-8 10:27:59 |只看作者 |坛友微信交流群
万人往LVR 发表于 2016-3-8 09:07
感谢,原来R的sql包如此强大还简单

使用道具

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

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

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

GMT+8, 2024-4-28 05:23