满足条件的值的行计数

标签 r sum r-faq rowsum

我想生成一个新变量,其中某些列满足标准的次数(如 ==<> )。该函数需要处理 NA
具有一些缺失值的样本数据:

x <- seq(10, 20)
y <- seq(12, 22)
y[4] <- NA
z <- seq(14, 24)
z[c(4,5)] <- NA
data <- cbind(x, y, z)
#        x  y  z
# [1,]  10 12 14
# [2,]  11 13 15
# [3,]  12 14 16
# [4,]  13 NA NA
# [5,]  14 16 NA
# [6,]  15 17 19
# [7,]  16 18 20
# [8,]  17 19 21
# [9,]  18 20 22
# [10,] 19 21 23
# [11,] 20 22 24
在这个例子中,我想要一个变量“less16”,它总结了每一行中 < 16 的值数量,跨列“x”、“y”和“z”。前几行的期望结果:
 x   y   z  less16
10  12  14       3
11  13  15       3
12  14  16       2
13  NA  NA       1
14  16  NA       1
etc
我已经尝试过使用 rowSumsumwhichforifelse 循环,但到目前为止都无济于事。任何建议将不胜感激。提前致谢。

最佳答案

许多这些函数实际上都有一个 na.rm 参数用于排除 NA 值:

apply(data,1,function(x) {sum(x < 16,na.rm = TRUE)})

关于满足条件的值的行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10134809/

相关文章:

regex - 如何计算给定字符在字符串列的每一行中出现的次数?

r - R中%>%函数是什么意思?

r - 如何连接(合并)数据框(内部、外部、左、右)

javascript - 使用回调选项选择新页面后,R DT 数据表不保留行索引/计数器列

R data.table 如何创建重复项

r - 查找数据框中是否存在列

sql - 根据列条件求和

c - 如何编写 1 个 C 程序打印一个数的所有因数、因数之和并检查它是否为完美数

mysql - 如何返回最后一行的具体总和?

r - 使用 row, col 索引从矩阵中索引值