我有一个数据框,其中一个变量(w1)是一个有七个级别的因子。以下是前几行:
X number delta1 tossc w1
1 0.743477269 0 1 <NA>
2 0.742817675 0 1 x1
3 0.867432987 0 1 x5
4 0.535971961 1 1 Group3
5 0.743477269 0 1 x2
6 0.742817675 0 1 x1
7 0.867432987 0 1 <NA>
8 0.535971961 1 1 Group3 or Group4
如何查找每个角色在w1中出现的次数? (例如,x1出现2次,x5出现1次等)。任何帮助将不胜感激。
答案 0 :(得分:2)
这是使用merge
和table
merge(dat,as.data.frame(table(dat$w1)),by.x='w1',by.y='Var1')
w1 X number delta1 tossc Freq
1 <NA> 1 0.7434773 0 1 2
2 <NA> 7 0.8674330 0 1 2
3 Group3 4 0.5359720 1 1 1
4 Group3 or Group4 8 0.5359720 1 1 1
5 x1 2 0.7428177 0 1 2
6 x1 6 0.7428177 0 1 2
7 x2 5 0.7434773 0 1 1
8 x5 3 0.8674330 0 1 1
答案 1 :(得分:0)
另一种选择是:
length(which(dat$w1=="x1"))
可以很容易地保存为新变量。