R - 计算每个客户的信用交易数量

时间:2014-11-28 04:48:47

标签: r dataframe counting

我有一个看起来像这样的数据集。我需要计算客户从给定数字中进行的信用交易数量。

>head(reqDs,15)
 Txn_date  Cust_no    Acct_no cust_type   Credit
1  2013-12-02 14607902  203612500         I   400.00
2  2013-12-02 14607902  203612500         I   300.00
3  2013-12-02 14607562 1603700605         I   304.71
4  2013-12-02 14607162 1405015800         O   475.00
5  2013-12-02 14607002  201694364         I   325.00
6  2013-12-02 14604662 1884614220         I  1390.00
7  2013-12-02 14604302  605847862         I   100.00
8  2013-12-02 14603582 1077033921         I   500.00
9  2013-12-02 14602322 1281344287         I     5.00
10 2013-12-02 14602322 1281344287         I   130.00
11 2013-12-02 14601322  204827461         O 15975.00
12 2013-12-02 14601322  204827461         O  3711.00
13 2013-12-02 14601322  204827461         O 12530.50
14 2013-12-02 14601080  465277103         O  3312.00
15 2013-12-02 14601080  465277103         O   370.00

我尝试过使用aggregate()然后从plyr包中应用count()函数

noOfTxns <- aggregate(reqDs$Credit, by=list(reqDs$Cust_no), FUN=count)

但我得到的是以下输出而不是所需的输出

    Group.1 x
1   14722   1000
2   15502   4686.99
3   15942   110
4   15948   c(30, 100)
5   16122   c(200, 200.54, 241.3)
6   16442   c(200, 400, 480, 600)

如何获得与此类似的所需输出?

    Cust_no  No_of_txns
1   14722    1
2   15502    1
3   15942    1
4   15948    2
5   16122    3
6   16442    4

1 个答案:

答案 0 :(得分:0)

礼貌:@RichardScriven

答案是使用长度而不是计数..

noOfTxns <- aggregate(reqDs$Credit, by=list(reqDs$Cust_no), FUN=length)