如何计算而不在R中聚合

oce*_*ont 1 aggregate r count

我在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).

nic*_*ola 7

使用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)