用序列计算观察数

时间:2014-09-15 07:07:12

标签: r

我想用序列计算观察次数。 在下面的示例代码中,我希望从0到10的序列为2的狼的数量。如何使用seq命令执行此操作? 以下是示例数据框:

 dat <- read.table(text = " category birds    wolfs     snakes
                       yes        3        9         7
                       no         3        8         4
                       no         1        2         8
                       yes        1        2         3
                         ",header = TRUE)

这是所需的输出:

range number of wolfs
0-2       0
2-4       2
4-6       0
6-8       0
8-10      2

1 个答案:

答案 0 :(得分:2)

使用cut分配间隔,然后使用table获取计数:

tab <- table(cut(dat$wolfs, (0:5)*2, include.lowest = TRUE, right = FALSE))
setNames(as.data.frame(tab), c("range", "number of wolfs"))
#   range number of wolfs
#1  [0,2)               0
#2  [2,4)               2
#3  [4,6)               0
#4  [6,8)               0
#5 [8,10]               2

请注意您需要决定间隔关闭的哪一侧。