2017-07-12 73 views
0

所以這裏是一些從我的數據框行的樣本計算唯一值的頻率在一個變量的另一個變量的每個唯一值:的R - dplyr:在同一個數據幀

> 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相當陌生,非常感謝您的幫助。謝謝。

+1

你試圖通過這兩個變量分組? – Daniel

回答

1

你應該兩個變量組:

data %>% 
group_by(TR_DATE, TR_TYPE...) %>% 
summarise(trancount = n(), trantype = n_distinct(TR_TYPE...))