看板 R_Language 關於我們 聯絡資訊
更新 如 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://www.ptt.cc/bbs/R_Language/M.1638527042.A.383.html ※ 編輯: cheen885 (101.9.114.174 臺灣), 12/03/2021 18:26:59
locka: file <- file %>% group_by(date, doctor,TimeofPeeiod) %>12/03 18:43
locka: % summarise(sum=sum(premodel108)12/03 18:43
locka: 然後既然都用 dplyr 了 就用 pipeline 吧 巢狀的程式碼不好 12/03 18:43
locka: 閱讀12/03 18:43
嗚謝謝你!!那麼快速回復我好感動 不過想請問我跑出來長這樣... https://i.imgur.com/5mqEZ02.jpg
應該如何處理呢QQ 謝謝你 ※ 編輯: cheen885 (101.9.114.174 臺灣), 12/03/2021 21:29:11
locka: 看錯誤訊息是資料筆數對不起來,剩下沒有可重現錯誤的資料12/03 21:49
locka: 愛莫能助(聳肩12/03 21:49
Gjerry: 其實可以考慮用 split 切開 data frame 等用 lapply 處理12/03 23:38
Gjerry: 完再合起來,對於不熟悉的人來說應該比較直覺12/03 23:38
locka: G大 其實我覺得 lapply 也沒有很直觀耶XDDD12/04 00:06
chenwz: 因為group_by 分組後的列數跟原本資料對不起來,所以沒辦12/04 09:19
chenwz: 法直接給新欄位。可以重給一個df, 再join起來12/04 09:19
Gjerry: 不然用 for loop 也可以,一開始就學 dplyr 我覺得會有點12/04 15:30
Gjerry: 卡卡的12/04 15:30
celestialgod: 我覺得原PO一開始就寫對了 原PO要不要檢查一下資料12/05 01:09
celestialgod: ? 12/05 01:09
celestialgod: https://reurl.cc/2oqm5X12/05 01:09
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