作者thephone (phone)
看板R_Language
標題[問題] dcast整理表格後,空值的處理
時間Wed Nov 11 23:21:53 2015
手中有一筆消費數據
消費者 消費金額
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://webptt.com/m.aspx?n=bbs/R_Language/M.1447255316.A.52E.html
1F:→ celestialgod: dcast.data.table有 drop=FALSE 11/11 23:37
2F:推 celestialgod: 記得要取成factor就好 11/11 23:38
3F:→ thephone: 好的 我試試看 thx 11/12 10:01
想進一步分別計算
消費者在不同區間下消費金額佔整體比例
如下
消費者 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
4F:→ celestialgod: sweep(as.matrix(dd), 2, colSums(dd), '/') 11/12 23:42
5F:→ celestialgod: 大概長這樣,untested 11/12 23:42
6F:→ thephone: 學到了sweep 謝謝c大 11/13 10:48
7F:→ thephone: 後來看到prop.table也可以使用 11/18 13:59