我建议让您熟悉plyr包。
install.packages("plyr")
它会要求你选择一个地方下载,只需选择最接近你的地方。然后加载库
library(plyr)
好了,所以可以说我们有一个看起来像这样
> df
Name Day Location
52 Jake Wed MI
25 Sally Tue NY
38 Sue Fri NY
45 Sally Tue MI
42 Sue Mon MI
17 Sally Fri CA
28 Jake Tue NY
14 Sue Thur CA
47 Jim Tue MI
67 Jim Tue AL
我们可以问每一个位置了多少次访问数据帧
> ddply(df, .(Location), summarise, count=length(Name))
Location count
1 CA 2
2 NY 3
3 MI 4
4 AL 1
,或者有多少人们在某一天访问了某个位置
> ddply(df, .(Location, Day), summarise, count=length(Name))
Location Day count
1 CA Thur 1
2 CA Fri 1
3 NY Tue 2
4 NY Fri 1
5 MI Mon 1
6 MI Tue 2
7 MI Wed 1
8 AL Tue 1
你应该在plyr上查看一个完整的教程,但是对于上面的命令,基本上发生的是ddply正在通过指定的列中值的唯一组合来拆分数据框,并根据函数汇总数据(在我们的案例长度),你指定。
我希望这会有所帮助。
可以使用'表()'函数来按组计数。参见'?table' – 2015-04-01 18:59:38
看看'xtabs'函数。如果使用'tapply'或'aggregate',返回计数的标准方法是使用'length'。 @hadley(和其他我认为)已经构建了addon包的'count'函数。 – 2015-04-01 19:09:14