下面是我的数据帧中的一些行的示例:
> data[1:25, c("TR_DATE", "TR_TYPE...")]
TR_DATE TR_TYPE...
1 2016-03-01 4
2 2016-03-01 4
3 2016-03-01 5
4 2016-03-01 4
5 2016-03-01 1
6 2016-03-01 7
7 2016-03-01 4
8 2016-03-01 4
9 2016-03-01 24
10 2016-03-01 23
11 2016-03-01 4
12 2016-03-02 4
13 2016-03-02 1
14 2016-03-02 1
15 2016-03-02 4
16 2016-03-02 4
17 2016-03-02 14
18 2016-03-02 4
19 2016-03-02 4
20 2016-03-03 4
21 2016-03-03 1
22 2016-03-03 4
23 2016-03-03 23
24 2016-03-03 1
25 2016-03-03 4
我想要做的是重新排列,以便对于每个独特的一天,我都会获得唯一交易类型的数量和每种交易类型的频率
。这是我尝试过的代码:
data %>%
group_by(TR_DATE) %>%
summarise(trancount = n(), trantype = n_distinct(TR_TYPE...))
这给了我想要的部分结果:
# A tibble: 68 x 3
TR_DATE trancount trantype
<date> <int> <int>
1 2016-03-01 5816 6
2 2016-03-02 5637 3
3 2016-03-03 4818 3
4 2016-03-04 5070 8
5 2016-03-05 4 2
6 2016-03-08 6707 5
7 2016-03-09 5228 5
8 2016-03-10 4722 6
9 2016-03-11 4469 8
10 2016-03-12 1 1
# ... with 58 more rows
所以 trantype 告诉我在特定日期发生的唯一交易类型的数量,但我想知道这些独特交易类型中的每一个的频率。这样做的最佳方法是什么? 我尝试环顾四周,发现了类似的问题,但无法根据我的要求修改解决方案。 我对 R 相当陌生,非常感谢一些帮助。谢谢。
您应该按两个变量进行分组:
data %>%
group_by(TR_DATE, TR_TYPE...) %>%
summarise(trancount = n(), trantype = n_distinct(TR_TYPE...))