R:追加具有特定值的计数的列

时间:2016-08-08 16:44:49

标签: r append frequency

我正在寻找一种简单的方法来对我的df进行子集化,并附加一个频率计数的列。假设我有这样的df:

 Name    Frequency 
    JA      3
    JN      2
    JB      1

我希望得到这样的结果:

SELECT  [PROGRAMNO]
      ,[ACCTNO]
      ,[CLAIMNO]
      ,[TOTALCHARGES]
      ,[TOTALPAYMENT]
      ,[TYPE]
  FROM DATALINE
WHERE PROGRAMNO IN (@PROGRAMNO)
  AND ACCTNO IN (@ACCTNO)
  AND CLAIMNO IN (@CLAIMNO)

有什么建议吗?谢谢。

2 个答案:

答案 0 :(得分:1)

我们可以在使用tally

按'名称'进行分组后使用dplyr
library(dplyr)
df1 %>% 
  group_by(Name) %>%
  tally()

或使用table

中的base R
as.data.frame(table(df1[,1]))
#   Var1 Freq
#1   JA    3
#2   JB    1
#3   JN    2

答案 1 :(得分:0)

使用data.table进行此操作的一种方法。

require(data.table)
DT<-data.table(df)
DT[,.(Frequency=.N),by=Name]