我正在寻找一种简单的方法来对我的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)
有什么建议吗?谢谢。
答案 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]