我有一个看起来像这样的数据集。我需要计算客户从给定数字中进行的信用交易数量。
>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
答案 0 :(得分:0)
礼貌:@RichardScriven
答案是使用长度而不是计数..
noOfTxns <- aggregate(reqDs$Credit, by=list(reqDs$Cust_no), FUN=length)