作者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/cn.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