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

R语言dplyr包结合rowSums按行和筛选数据行的实现方法

使用dplyr结合rowSums筛选行的实现方法

你可以直接在dplyr的filter()函数中调用rowSums()实现需求,具体写法如下:

全列参与求和的最简写法

如果你当前的数据框所有列都需要参与行和计算(比如你已经提前把iris裁剪为仅含4个数值列的版本),直接用管道符占位符.指代传入的整个数据框即可:

library(dplyr)

iris_filtered <- iris %>%
  filter(rowSums(.) >= 10)

这个写法和你给出的base R实现逻辑完全等价,筛选结果也完全一致。

指定部分列参与求和的灵活写法

如果你不想提前裁剪数据框,只想指定部分列参与行和计算,可以搭配across()函数指定列范围,比如保留原始iris的Species列的同时,仅用4个特征列计算行和:

# 按列位置指定参与求和的列(前4列)
iris_filtered <- iris %>%
  filter(rowSums(across(1:4)) >= 10)

# 按列名规则指定参与求和的列(所有以Sepal、Petal开头的列)
iris_filtered <- iris %>%
  filter(rowSums(across(starts_with(c("Sepal", "Petal")))) >= 10)

这种写法适配场景更灵活,不需要提前对原始数据做列裁剪操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:54:03