我有一个交易日期列表和在该日期进行交易的人的用户 ID(仅允许 1 个 Tx/天)。例如:
我想创建一个矩阵,显示截至每个日期,进行 1 笔交易、2-10 笔交易、10-20 笔交易等的用户数量。例如(注意,以下数据不对应到上面的交易数据):
数据透视表是我最好的机制吗?如果是(或不是)我将如何处理这个问题?
我有一个交易日期列表和在该日期进行交易的人的用户 ID(仅允许 1 个 Tx/天)。例如:
我想创建一个矩阵,显示截至每个日期,进行 1 笔交易、2-10 笔交易、10-20 笔交易等的用户数量。例如(注意,以下数据不对应到上面的交易数据):
数据透视表是我最好的机制吗?如果是(或不是)我将如何处理这个问题?
我的投票使用支点如果你有 2007 年这样的事情
1) 选择上面的数据 2) 插入数据透视 3) 将日期拖到行 Loabel 4) 将用户 ID 拖到列 => 每个用户 ID 得到一列 5) 在值中 yoiu 应该有用户数 6) 然后你需要添加新列来计算段 1-10 中的用户数量等
我知道我要说的有点“超出范围”,但我遇到了这样的问题,我用R来解决它。(如果我没有使用 R,我想我会尝试 sql 但绝不会选择 excel)
我也有一个名为“trans_data”的 2 列表,就像你的一样。列名是“trans_date”和“user_id”。我还想要一个像您一样的列联表,其中包含特定交易限制内的用户数。
这是代码
library(plyr)
adply(table(trans_date),1,function(x) {
d = NULL
d["1"] <- sum(x==1)
d["2_to_5"] <- sum(x > 1 & x <= 5)
d["6_to_27"] <- sum(x > 5 & x <= 27)
d["28_to_120"] <- sum(x > 27 & x <= 120)
d["121_to_398"] <- sum(x > 120 & x <= 398)
d[">_398"] <- sum(x > 398)
return(d)
}
)
和部分结果
trans_date 1 2_to_5 6_to_27 28_to_120 121_to_398 >_398
1 2009-01-25 257 169 61 7 1 0
2 2009-01-26 145 125 53 3 1 0
3 2009-01-27 175 117 44 12 0 0
4 2009-01-28 171 138 49 7 4 0
5 2009-01-29 756 217 71 5 3 0