R中数据帧的计数功能

时间:2014-03-16 12:54:53

标签: r count dataframe

我有以下数据框:

> Mice
        Blood  States  Minute
1       0.875     X0 0.8352569
2       0.875     A2 0.7551901
3       0.625     X0 1.4508139
4       0.625     A1 0.7876343
5       0.375     X0 1.1345252
6       0.125     X0 0.8699363
7       0.375     X0 0.9378742
8       1.125     H1 0.9769522
9       0.625     X0 0.4716321
10      0.875     H1 0.9935999
11      0.625     X0 1.0025917
12      0.375     A1 1.0703999
13      0.375     X0 1.3044854
14      0.875     H1 0.6720436
15      0.875     A1 1.0431863

因此,每只老鼠的“血液”中都有一些药物的价值,并检查它们的“状态”。这只是我的数据框架的一部分,但鼠标可以处于4种不同的状态。 “分钟”是指老鼠出现什么事情,无所谓。

对于“血液”的每个值,小鼠可以处于4种不同状态中的任何一种,我想计算每个类别中有多少观察值。

具有Blood和States列的count()函数不起作用,因为“States”是因子列

1 个答案:

答案 0 :(得分:1)

要在因子级别上操作,您可以使用tapplyby。如果您有Mice$Blood的离散比例,请将其转换为因子:

> by(mice$States, as.factor(mice$Blood), function(x) summary(factor(x)))

as.factor(mice$Blood): 0.125
X0 
 1 
------------------------------------------------------------------------------------------------ 
as.factor(mice$Blood): 0.375
A1 X0 
 1  3 
------------------------------------------------------------------------------------------------ 
as.factor(mice$Blood): 0.625
A1 X0 
 1  3 
------------------------------------------------------------------------------------------------ 
as.factor(mice$Blood): 0.875
A1 A2 H1 X0 
 1  1  2  1 
------------------------------------------------------------------------------------------------ 
as.factor(mice$Blood): 1.125
H1 
 1 

返回的对象是一个列表,因此您可以将其捕获并用于您的目的。