作者cheen885 ()
看板R_Language
标题依变项分组的加总
时间Fri Dec 3 18:24:00 2021
更新
如 c大及f大所述
我确实第一次就做对了xD
假设一资料集为:
Date dr TimeofPeriod permodel108 Cum
X1 12/1 1 1 10 10
X 2 12/1 1 1 20 30
X 3 12/1 1 2 10 10
X 4 12/2 1 1 30 30
X 5 12/2 1 1 10 40
X 6 12/2 2 1 20 20
X 7 12/2 2 1 10 30
我一开始的完整语法是:
install.packages("tidyverse") #for mutate
install.packages("lubridate") #for time format transfrom
install.packages("dplyr") #for rank
Install.packages (“plyr”) #for rank
library(tidyverse)
library(lubridate)
library(dplyr)
library(plyr)
NewFile<-mutate (group_by(file, date, doctor, TimeofPeriod), cum = cumsum (pre
dmodel108))
View(NewFile)
上列语法因多了一个 library(plyr)
故导致最後的结果如原文所示
(变成逐笔累加,而未依照组别去累加)
我後来重新打开 R
听f大的建议
不安装 plyr
其他程式照跑
就可以得到完美的异组累加(上方表格cum栏位、或下方17楼我的回覆照片)
真的谢谢版上各位大大
也非常谢谢f大的回文>_______<
———————以下为原文———————
各位大大好,不好意思
想请问
我手边有一组资料
https://i.imgur.com/w453bWR.jpg
因为想依照日期(date)、医师(doctor )、诊间时段(TimeofPeriod)分群,将最右
栏的premodel108个数值累加
但是希望可以是 X1-X7、X8-X15的数值分别累加
我打的程式码是:
file<-mutate(group_by(file,date,doctor,TimeofPeriod),cum=cumsum(predmodel108
))
做出来的却是 X1-X15的累加QQ
想请问我的程式码应如何修正呢
谢谢大家QQQQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.9.114.174 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1638527042.A.383.html
※ 编辑: cheen885 (101.9.114.174 台湾), 12/03/2021 18:26:59
1F:推 locka: file <- file %>% group_by(date, doctor,TimeofPeeiod) %>12/03 18:43
2F:推 locka: % summarise(sum=sum(premodel108)12/03 18:43
3F:推 locka: 然後既然都用 dplyr 了 就用 pipeline 吧 巢状的程式码不好 12/03 18:43
4F:推 locka: 阅读12/03 18:43
呜谢谢你!!那麽快速回复我好感动
不过想请问我跑出来长这样...
https://i.imgur.com/5mqEZ02.jpg
应该如何处理呢QQ
谢谢你
※ 编辑: cheen885 (101.9.114.174 台湾), 12/03/2021 21:29:11
5F:→ locka: 看错误讯息是资料笔数对不起来,剩下没有可重现错误的资料12/03 21:49
6F:→ locka: 爱莫能助(耸肩12/03 21:49
7F:推 Gjerry: 其实可以考虑用 split 切开 data frame 等用 lapply 处理12/03 23:38
8F:→ Gjerry: 完再合起来,对於不熟悉的人来说应该比较直觉12/03 23:38
9F:→ locka: G大 其实我觉得 lapply 也没有很直观耶XDDD12/04 00:06
10F:推 chenwz: 因为group_by 分组後的列数跟原本资料对不起来,所以没办12/04 09:19
11F:→ chenwz: 法直接给新栏位。可以重给一个df, 再join起来12/04 09:19
12F:推 Gjerry: 不然用 for loop 也可以,一开始就学 dplyr 我觉得会有点12/04 15:30
13F:→ Gjerry: 卡卡的12/04 15:30
14F:推 celestialgod: 我觉得原PO一开始就写对了 原PO要不要检查一下资料12/05 01:09
15F:→ celestialgod: ? 12/05 01:09
17F:→ celestialgod: 不然试试看data.table 12/05 01:09
咦!!对,我刚刚检查资料
确实做出来是对的
如下图部分资料所示
https://i.imgur.com/ZxQSIli.jpg
(蓝线为异组分线,分框框为另一组的累积增加值)
不知道为何再发文前检查过资料
当时脑筋打结,误以为自己做错语法了
谢谢板上各位大大的帮忙QQQ
贵版真的好有温暖>____<
※ 编辑: cheen885 (101.9.238.184 台湾), 12/06/2021 00:17:36
※ 编辑: cheen885 (101.9.238.184 台湾), 12/06/2021 20:41:13
※ 编辑: cheen885 (101.9.238.184 台湾), 12/06/2021 20:42:27