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

如何在R语言中查找列中非整数数值的行?偏好tidyverse方法

筛选数据框中y列为非整数的行

用tidyverse的dplyr包可以轻松实现这个需求,核心思路是判断数值是否与其整数部分不相等:

library(tidyverse)

# 构造数据框
df <- data.frame(id = c("a", "a", "a", "a", "a", "b", "b", "b", "b"),
                 y = c(1.000, 2.000, 3.000, 4.000, 5.345, 1.000, 2.000, 3.000, 4.670))

# 筛选y列为非整数的行
result <- df %>%
  filter(y != floor(y))

print(result)

运行后得到的结果:

id     y
1  a 5.345
2  b 4.670

你也可以用取余的方式判断,效果完全一致:

df %>%
  filter(y %% 1 != 0)

如果遇到浮点数精度问题(比如实际是整数但存储为1.0000000001这类近似值),可以先对数值做近似处理后再判断:

df %>%
  filter(!near(y, floor(y)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:40:09