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

如何修正dplyr中使用filter与across跨列筛选iris数据集的代码报错

报错原因

代码报错是因为across的第二个参数需要传入可执行的谓语判断函数/公式,你直接写>2属于不完整的R表达式,语法不合法,因此触发了unexpected '>'的报错。

正确实现代码

可以用purrr风格的公式语法改写判断条件,代码如下:

# 需提前安装加载dplyr包,未安装先执行 install.packages("dplyr")
library(dplyr)

iris %>%
  filter(across(c(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width), ~ .x > 2))

如果偏好基础R的匿名函数写法,也可以用下面的等价实现:

iris %>%
  filter(across(c(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width), function(x) x > 2))

以上两种写法的逻辑都是只有四个指定列取值全部大于2的行才会被保留,完全匹配你的筛选需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:54:04