我在R中有一个大表,需要计算其中一列中值的出现次数,另外将计数放在它自己的列中.没有聚合.
所以,如果我有:
var
23456
34567
45678
23456
etc
Run Code Online (Sandbox Code Playgroud)
我的输出应该是:
var count
23456 2
34567 1
45678 1
23456 2
etc
Run Code Online (Sandbox Code Playgroud)
我已经真正阅读了所有的线程,但似乎无法在没有聚合的情况下找到这样做的方法.我需要的是相当于excel的count(A1:A4;A1).
使用ave.假设您的起点df定义如下:
df<-structure(list(var = c(23456L, 34567L, 45678L, 23456L)), .Names = "var", class = "data.frame", row.names = c(NA,
-4L))
df
# var
#1 23456
#2 34567
#3 45678
#4 23456
Run Code Online (Sandbox Code Playgroud)
然后:
df$count<-ave(df$var,df$var,FUN=length)
# var count
#1 23456 2
#2 34567 1
#3 45678 1
#4 23456 2
Run Code Online (Sandbox Code Playgroud)