r - R中dplyr过滤器中的函数参数
问题描述
filter(data, function(x) sum(is.na(x))>2)
我想使用这段代码来获取包含少于 2 个 NA 值的行的数据子集,但是会发生错误:
错误:参数 2 过滤条件不计算为逻辑向量
只是想知道原因,我该如何处理?非常感谢!
解决方案
我们可以filter
使用rowSums
library(dplyr)
data %>%
filter(rowSums(is.na(.)) < 2)
或使用base R
data[rowSums(is.na(data)) < 2,]
数据
data <- data.frame(col1 = c(2, 3, NA), col2 = c(2, NA, NA), col3 = c(1, 2, 3))
推荐阅读
- swiftui - 由于 iPad 设备的未捕获异常“NSGenericException”而终止应用程序
- rust - 递归引用包装
- python - 1 或 0 基于另一列中的值?[Python]
- css - React Navbar 中的徽标不会与链接对齐
- php - PHP 7 中用于 PKCS 1.5 RSA 加密的库
- java - 为什么 hasNext() 永远不会在 Scanner 类中结束?我想使用 Scanner 类输入一系列字符串
- wso2is - 通过文件将服务提供者添加到 WSO2 身份服务器不起作用
- epsg - adehabitatHR 家庭范围估计太小
- layout - 散景布局调整多个图的大小
- python - 从 URL PDF 文件中查找和提取特定文本,无需下载或写入(解决方案)