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

如何使用dplyr选择包含无穷值的数据框列?

使用dplyr筛选包含无穷值的列

要选出dataframe中包含无穷值(Inf或-Inf)的列,可结合dplyr::select()与where()函数实现,核心是对每列判断是否存在至少一个无穷值:

library(dplyr)

# 构造示例数据框
df <- tibble(
  col1 = c(1, 2, 3),
  col2 = c(Inf, 4, 5),
  col3 = c(6, -Inf, 8),
  col4 = c(9, 10, 11)
)

# 筛选包含无穷值的列
df_inf_cols <- df %>% 
  select(where(~ any(is.infinite(.x))))

# 查看结果
df_inf_cols

代码说明

  • where()用于遍历每一列,传入的匿名函数~ any(is.infinite(.x))会检查当前列(.x)中是否存在至少一个无穷值
  • 运行后会返回所有符合条件的列,示例中会得到col2和col3

如果只需确认哪些列包含无穷值,而非直接筛选,可使用summarize()配合across()输出布尔结果:

df %>% 
  summarize(across(everything(), ~ any(is.infinite(.x))))

执行后会生成一个单行数据框,每列对应原数据框的列,TRUE表示该列包含无穷值。

内容的提问来源于stack exchange,提问作者Bastián Olea Herrera

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:49:55