[問題] dcast整理表格後,空值的處理

看板R_Language作者 (phone)時間10年前 (2015/11/11 23:21), 10年前編輯推噓1(106)
留言7則, 2人參與, 最新討論串1/1
手中有一筆消費數據 消費者 消費金額 A 170 A 230 A 490 A 490 A 490 B 610 B 459 C 300 C 211 C 200 依照消費金額區間切割 分別count不同區間的次數 如下 消費者 below100 100 200 300 400 500 600 700 ...30000 A 0 1 1 0 3 0 0 0 0 B 0 0 0 0 1 0 1 0 0 C 0 0 2 1 0 0 0 0 0 我的方法是將消費金額除100取整數 再用dcast(消費者~消費金額) 但是有些金額區間是空值(像上例中500的這個區間,不存在任何一位消費者) dcast無法補0 想要讓col有連續 有其他建議的方法嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.147.21.174 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1447255316.A.52E.html

11/11 23:37, , 1F
dcast.data.table有 drop=FALSE
11/11 23:37, 1F

11/11 23:38, , 2F
記得要取成factor就好
11/11 23:38, 2F

11/12 10:01, , 3F
好的 我試試看 thx
11/12 10:01, 3F
想進一步分別計算 消費者在不同區間下消費金額佔整體比例 如下 消費者 below100 100 200 300 400 500 600 700 ...30000 A 0 0.2 0.2 0 0.6 0 0 0 0 B 0 0 0 0 0.5 0 0.5 0 0 C 0 0 0.66 0.33 0 0 0 0 0 有建議使用的方式嗎? 謝謝 ※ 編輯: thephone (122.147.21.174), 11/12/2015 23:41:00

11/12 23:42, , 4F
sweep(as.matrix(dd), 2, colSums(dd), '/')
11/12 23:42, 4F

11/12 23:42, , 5F
大概長這樣,untested
11/12 23:42, 5F

11/13 10:48, , 6F
學到了sweep 謝謝c大
11/13 10:48, 6F

11/18 13:59, , 7F
後來看到prop.table也可以使用
11/18 13:59, 7F
文章代碼(AID): #1MGrqKKk (R_Language)
文章代碼(AID): #1MGrqKKk (R_Language)