楼主: lanhong1993
1061 2

[问答] 如何计算体重差 [推广有奖]

  • 1关注
  • 1粉丝

博士生

54%

还不是VIP/贵宾

-

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

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教,我的数据如下,数据集包含的是对每个人的体重的监测,ID是病人的编号,第二列和第三列是起止时间,第四列是体重。我现在想做的是,对于每个人(每个ID),计算出他在监测时间内的体重的变化速度,形成一个新的数据集。比如,我我要算200003这个人在2/8/2199 19:15:00至8/8/2199 19:09:18内体重的增速,即(79.7-77.5)/时间差。这个怎么做?感觉要用到循环,却不知如何下手,数据量比较庞大。

微信图片_20200311123551.png


二维码

扫码加我 拉你入群

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

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


沙发
不懂不装懂 发表于 2020-3-11 20:34:45 |只看作者 |坛友微信交流群
df <- data.frame(id=rep(letters[1:2],each = 3), s=c(1:3,1:3),
                 e=c(2:4,2:4),v=c(11,20,25,9,13,28))
df
library(dplyr)
df%>%group_by(id)%>%
  transmute(s=first(s),
            e=last(e),
            v1=first(v),
            v2=last(v))%>%
distinct()%>%
  mutate(zs=(v2-v1)/(e-s))

使用道具

藤椅
lanhong1993 发表于 2020-3-11 21:21:49 |只看作者 |坛友微信交流群
不懂不装懂 发表于 2020-3-11 20:34
df %group_by(id)%>%
  transmute(s=first(s),
            e=last(e),
太棒啦,万分感谢

使用道具

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

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

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

GMT+8, 2024-9-20 04:49