R - 计算 bin 中特定值的数量

2024-05-18

我有一个如下所示的数据框(df):

Value <- c(1,1,0,2,1,3,4,0,0,1,2,0,3,0,4,5,2,3,0,6)
Sl <- c(1:20)
df <- data.frame(Sl,Value)    

> df
   Sl Value
1   1     1
2   2     1
3   3     0
4   4     2
5   5     1
6   6     3
7   7     4
8   8     0
9   9     0
10 10     1
11 11     2
12 12     0
13 13     3
14 14     0
15 15     4
16 16     5
17 17     2
18 18     3
19 19     0
20 20     6

我想创建 4 个垃圾箱df并计算出现次数Value=0分组依据Sl单独数据框中的值如下所示:

Bin Count
1   1
2   2
3   2
4   1

我试图使用table and cut创建所需的数据框,但不清楚我将如何指定df$Value以及找到的逻辑0s here

df.4.cut <- as.data.frame(table(cut(df$Sl, breaks=seq(1,20, by=5))))

使用您的df

tapply(df$Value, cut(df$Sl, 4), function(x) sum(x==0))

gives

> tapply(df$Value, cut(df$Sl, 4), function(x) sum(x==0))
(0.981,5.75]  (5.75,10.5]  (10.5,15.2]    (15.2,20] 
           1            2            2            1 

In cut如果您愿意,您可以指定中断数量或中断本身,并且逻辑位于函数定义中tapply

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R - 计算 bin 中特定值的数量 的相关文章

随机推荐