Re: [问题] 用循环整理同个ID的看病次数

楼主: ianmao (qq)   2018-06-25 23:12:41
可以试试看下面的code会比较简洁:
medical <- as_tibble(medical) %>%
group_by(id) %>%
mutate(age = max(age),
docvis_sum = sum(docvis),
hhninc_mean = mean(hhninc)) %>%
select(id, docvis_sum, age, hhninc_mean) %>%
slice(length(id)) %>%
ungroup()
※ 引述《piggood (成为有品味的男人)》之铭言:
: ※ 引述《ntpuisbest (阿龙)》之铭言:
: : library(COUNT)
: : data(rwm5yr)
: : medical<-rwm5yr
: : https://imgur.com/xLr3I5j
: : 我的目的是像这样
: : 同个id是同个人
: : 我想要把资料整理成
: : 去计算同个人的 总共 的看病次数
: : 其他的column 就用 同个id最后的 资讯
: : 最后要整理成
: : id docvis age
: : 1 1 56
: : 2 4 48
: : 3 13 62
: : 请问有套件可以做到这件事情吗
: : 还是怎么写这个循环呢
: 目前想到的方式
: 但也不是很简洁
: 不过还能用
: # 先建立一个 medical1 ,除了 docvis 和 hhninc 之外,都取最后一笔观察值的资料
: medical1 <- medical %>%
: group_by(id) %>%
: summarise_at(vars(-docvis,-hhninc), last)
: # 再建 medical2 专门处理 docvis 跟 hhninc 的各别需求
: medical2 <- medical %>%
: group_by(id) %>%
: summarise(sum(docvis), mean(hhninc))
: # 合并在一起
: medical3 <- data.frame(medical2,medical1)
作者: piggood (成为有品味的男人)   2018-06-26 18:50:00
喜欢这个版本~推

Links booklink

Contact Us: admin [ a t ] ucptt.com