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

如何用filter函数移除数据集特定样本?附代码补全及ifelse疑问

解决方法

1. 补全filter代码移除缺失样本

直接在filter()中指定筛选条件,保留马力(hp)值不等于"?"的样本即可:

library(dplyr) # 先确保加载dplyr包
autompg = autompg %>% filter(hp != "?")

2. 关于结合ifelse函数实现的问题

可以用,但完全没必要——filter()本身就是基于逻辑条件筛选行,直接写hp != "?"比嵌套ifelse更简洁。

如果一定要用ifelse,写法应该是:

autompg = autompg %>% filter(ifelse(hp == "?", FALSE, TRUE))

这里的test_expression是hp == "?",当条件为真(即hp是"?")时返回FALSE(过滤掉该行),条件为假时返回TRUE(保留该行)。

你之前写的nrow=ifelse(...)是错误的,filter()不需要赋值给nrow,它只需要一个逻辑向量来判断哪些行保留、哪些丢弃。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 09:57:01