楼主: 深井冰volare
1195 5

[实际应用] R语言数据预处理 [推广有奖]

  • 0关注
  • 1粉丝

本科生

35%

还不是VIP/贵宾

-

威望
0
论坛币
679 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
285 点
帖子
40
精华
0
在线时间
131 小时
注册时间
2019-9-23
最后登录
2022-7-30

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想要把每一个id下,第一次出现gold=1时,及之后的trait设置为1,之前设置为0,求大神指教~~~
二维码

扫码加我 拉你入群

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

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

关键词:数据预处理 R语言 预处理 Trait gold R语言

沙发
深井冰volare 发表于 2020-6-23 09:33:16 |只看作者 |坛友微信交流群
原数据见附件

1.png (135.17 KB)

原数据

原数据

使用道具

藤椅
maths_hjxk 发表于 2020-6-23 10:56:15 |只看作者 |坛友微信交流群
试试这样
  1. library(dplyr)
  2. df %>%
  3.   group_by(id)%>%
  4.   filter(row_number()>=which(gold==1)[1])%>%
  5.   mutate(trait=1)
复制代码


已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

使用道具

板凳
nieqiang110 学生认证  发表于 2020-6-23 11:06:18 |只看作者 |坛友微信交流群
data%>%dplyr::mutate(trait=ifelse(gold==1,1,0))%>%dplyr::group_by(id)%>%dplyr::mutate(trait=dplyr::cumsum(trait))%>%ungroup()->data_F
试试看
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

使用道具

报纸
深井冰volare 发表于 2020-6-26 10:14:30 |只看作者 |坛友微信交流群
maths_hjxk 发表于 2020-6-23 10:56
试试这样
好的 我试试~谢谢

使用道具

地板
深井冰volare 发表于 2020-6-26 10:14:57 |只看作者 |坛友微信交流群
nieqiang110 发表于 2020-6-23 11:06
data%>%dplyr::mutate(trait=ifelse(gold==1,1,0))%>%dplyr::group_by(id)%>%dplyr::mutate(trait=dplyr::c ...
好的 我试试~谢谢

使用道具

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

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

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

GMT+8, 2024-4-26 15:01