0

我有一个数据框,其中一个变量(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 次等)。任何帮助将不胜感激。

4

2 回答 2

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
于 2013-06-09T00:21:47.463 回答
0

另一种选择是:

length(which(dat$w1=="x1"))

可以很容易地保存为新变量。

于 2013-06-09T08:37:15.793 回答