[程式] R語言 data.frame如何增加列

看板Statistics作者時間3年前 (2021/05/01 01:18), 3年前編輯推噓0(0011)
留言11則, 3人參與, 3年前最新討論串1/1
#5/1下午更新: 試著修改a大留言給的程式套用到我的資料上 但小妹資質駑鈍…一直改不出要的結果 我發現這程式應該是把ID跟牙齒編號這兩行單獨抓出來處理的感覺(? 但實際上我有五十多行的變數 其他行的變數就無法跟著修改到 (抱歉當初示意圖沒畫好,我重拍一次…) https://i.imgur.com/D5gNnWn.jpg
想請教前輩與版友們如何做修改 或給些提示也可以~ 萬分感謝!! =============================== 各位前輩與版友大家好 想請教關於資料整理的部份 data.frame如何增加列 將資料整理成如圖中的樣子? 假設一人固定紀錄4顆牙 但沒被觀測到的牙齒編號則紀錄為0 需注意的是整理後的牙齒資料需按照1~4的編號排序 想很久了都沒有頭緒… 拜託大家幫忙了 謝謝~ https://i.imgur.com/5pyf8Hg.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.123.211.87 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1619803103.A.4EE.html

05/01 02:06, 3年前 , 1F
先說個題外話,新增後將使列順序有意義,排序就完蛋了。
05/01 02:06, 1F

05/01 02:28, 3年前 , 2F
05/01 02:28, 2F

05/01 02:29, 3年前 , 3F
先按ID切成三份,在每份內找到tooth缺失列並插入列,
05/01 02:29, 3F

05/01 02:30, 3年前 , 4F
再合併與清理。上面的code大概是這樣的流程。
05/01 02:30, 4F

05/01 02:35, 3年前 , 5F
更正,「在每份內找到應保留列並於模版中插入原值」
05/01 02:35, 5F

05/01 11:01, 3年前 , 6F
太神了!非常謝謝a大~
05/01 11:01, 6F
※ 編輯: cevian (140.123.211.87 臺灣), 05/01/2021 15:47:06

05/01 23:25, 3年前 , 7F
https://ideone.com/3sJFu9 可能要R4.0以上才會正確
05/01 23:25, 7F

05/02 00:17, 3年前 , 8F
瞭解~非常謝謝您
05/02 00:17, 8F

05/03 22:21, 3年前 , 9F
套用a大的資料命名
05/03 22:21, 9F

05/03 22:22, 3年前 , 10F
b1=expand.grid(ID=unique(d$ID),tooth=1:4)
05/03 22:22, 10F

05/03 22:22, 3年前 , 11F
b2=merge(b1,d,by=c("ID","tooth"),all.x = T)
05/03 22:22, 11F
文章代碼(AID): #1WZ3lVJk (Statistics)