R_Language 板


LINE

下面的討論是錯在細節 語法非常簡單,但一些基本觀念要先知道 之後才不會重複犯錯 ※ 引述《cheen885 ()》之銘言: : 標題: 依變項分組的加總 : 時間: Fri Dec 3 18:24:00 2021 : : 各位大大好,不好意思 : : 想請問 : : 我手邊有一組資料 : : 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 其實就如celestialgod大所說,這個應該是對的 等價於 file %>% group_by(date, doctor, TimeofPeriod) %>% mutate(cum=cumsum(predmodel108)) 原PO可以再確認看看 我主要針對下面的討論回覆 : : 想請問我的程式碼應如何修正呢 : : 謝謝大家QQQQ : : -- :



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.9.114.174 (臺灣)
: ※ 文章網址: https://webptt.com/m.aspx?n=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 此處locka大用summarise,其實mutate和summarise是都可以 但後面誤會原PO的意思 新變項是分組後「逐筆資料」的累加,而不是各小組的累加 應用cumsum而非sum 例如資料a: gp val 1 1 10 2 1 20 3 1 30 4 2 10 5 2 20 用a %>% group_by(gp) %>% summarise(new = sum(val))的話會變成 gp new 1 1 60 2 2 30 而原PO要的則是a %>% group_by(gp) %>% summarise(new = cumsum(val)) gp new 1 1 10 2 1 30 3 1 60 4 2 10 5 2 30 : 嗚謝謝你!!那麼快速回復我好感動 : 不過想請問我跑出來長這樣... : https://i.imgur.com/5mqEZ02.jpg : 應該如何處理呢QQ : 謝謝你 注意除了sum以外,原PO這裡細節上也犯了一個錯 你賦值的對象是 final09a_new$PTT,而非final09a_new final09a_new$PTT是一個變項而已 但是右邊的內容final09a_new %>% group_by %>% summarise() 是一個資料集 錯誤1.把一個資料集賦值進一個變項,硬套是可以套進去,但絕對不是原PO要的 錯誤2.如上面的例子,用sum的話資料列數會變成分組組數 所以final09a_new$PTT的長度會是final09a_new的列數 右邊的內容則只有341列(因為妳分成341組了) 用summarise有一個問題是,運算出來的dataset會只剩下分組變項 例如上面的例子,原本的val就不見了 如果原PO要保留非分組變項,只希望多一個欄位 建議還是用mutate : ※ 編輯: 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 也沒有很直觀耶XDDD 12/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/2oqm5X 12/05 01:09 : → celestialgod: 不然試試看data.table 12/05 01:09 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.196.250 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1638673712.A.1FF.html ※ 編輯: fox1375 (140.109.196.250 臺灣), 12/05/2021 11:09:35
1F:推 locka: 推fox大,我昨天在捷運上看太快,是我沒正確理解問題就回覆 12/05 12:44
2F:→ locka: 原來原po要的是累加…(突然覺得好丟臉QQ) summarise的確是 12/05 12:45
3F:→ locka: 單純用在分組後加總的情況。另外沒想到F大竟然還觀察到賦值 12/05 12:45
4F:→ locka: 對象錯誤的小細節,請受小弟一拜m(_ _)m 12/05 12:45
5F:→ locka: 不過還是覺得很奇怪,如果原本寫的是對的怎麼會跑出非預期 12/05 12:50
6F:→ locka: 的結果(搔頭) 12/05 12:50
這個要原PO提供完整程式碼才能判斷了 以結果來說顯然是group_by沒有依預期的方式運作 可能是使用錯誤、版本問題或套件的衝突導致 例如同時使用dplyr和plyr兩個套件就會這樣 順便宣導所有plyr的功能dplyr都可以完成 plyr已停止更新,不應再使用 ※ 編輯: fox1375 (140.109.196.250 臺灣), 12/05/2021 13:24:33
7F:推 cheen885: 謝謝f大!!我有在我的原文補上完整的程式碼,我後來一 12/06 20:44
8F:→ cheen885: 直重跑,發現還是一直跑錯,一直找不到內文的照片我到 12/06 20:44
9F:→ cheen885: 底要跑對的XD,後來聽取您的建議,不使用plyr的套件, 12/06 20:44
10F:→ cheen885: 我就成功跑出我要的結果了!!真的很感謝你的幫忙:D!! 12/06 20:44







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP