我想用序列计算观察次数。 在下面的示例代码中,我希望从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
答案 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
请注意您需要决定间隔关闭的哪一侧。