楼主: lanhong1993
974 2

[程序分享] 求助,如何修改相应的行? [推广有奖]

  • 1关注
  • 1粉丝

已卖:286份资源

博士生

54%

还不是VIP/贵宾

-

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

楼主
lanhong1993 发表于 2017-3-28 16:28:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如,我有如下数据集:
patients_id    expire_flag
1                 0
1                 0
2                 1     
3                 0
4                 1
4                 1
4                 1  
5                 1
5                 1

如上所示,patients_id表示病人住院次数,1号病人2次住院,2号、3号病人都住院1次,4号病人住院3次,5号病人住院2次。expire_flag代表病人的结局,0代表存活,1代表死亡。1号2号3号病人都没问题,但是4号和5号病人就有问题了,因为病人不可能死亡多次。多次住院的病人应该是最后一次住院才死亡,前几次住院都是存活的。所以我想把数据集整理成如下形式:
patients_id    expire_flag
1                 0
1                 0
2                 1     
3                 0
4                 0
4                 0
4                 1  
5                 0
5                 1

这在R中该怎么做到呢?数据量很大,不可能手动修改。

二维码

扫码加我 拉你入群

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

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

关键词:patients Patient expire Flag Fla 如何

沙发
不懂不装懂 发表于 2017-3-29 10:08:04
假定数据集为a
(美元符号不能显示)
library(dplyr)
b<-a%>%group_by(patients_id)%>%mutate( n = row_number()-n() )

b$expire_flag<-ifelse(b$n==0,b$expire_flag,0)
b[,c(1,2)]




复制代码

藤椅
lanhong1993 发表于 2017-3-29 16:47:24
不懂不装懂 发表于 2017-3-29 10:08
假定数据集为a
(美元符号不能显示)
library(dplyr)
太棒啦谢谢

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

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