You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中按行统计dataframe中值为4或5的元素个数

解决方案

你可以通过在across中添加条件判断,将符合4或5的元素转为1,不符合的转为0,再用rowSums统计每行的总和,就能得到目标次数。修改后的代码如下:

library(dplyr)

df %>% 
  mutate(count_4_5 = rowSums(across(where(is.numeric), ~ .x %in% c(4, 5))))

代码说明

  • across(where(is.numeric), ~ .x %in% c(4, 5)):遍历所有数值列,对每个元素判断是否属于{4,5},返回由TRUE/FALSE组成的列(TRUE代表符合条件)。
  • rowSums(...):将每行的TRUE(等价于1)和FALSE(等价于0)求和,得到该行中4或5的出现次数。
  • 新列count_4_5就是每行符合条件的元素计数。

验证示例结果

运行代码后,示例数据的结果会新增count_4_5列,比如:

  • 第5行所有值都是5,计数为6;
  • 第14行全是2,计数为0;
  • 第10行有4个4,计数为4,和手动统计一致。

如果你的数据中还有非数值列,where(is.numeric)会自动跳过它们,只处理数值型列,完全适配你90列的数据集。

内容的提问来源于stack exchange,提问作者Patrick Parts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:31:01