我有同样的问题,就像解决了here个问题,但我必须处理data.table.

什么是最好的数据.表-筛选出所有行的方法,其中特定/"相关"列都是NA,不重要的是其他"无关"列显示什么(NA/不显示).

library(data.table)

df <- data.frame('epoch' = c(1,2,3),
               'irrel_2' = c(NA,4,5),
               'rel_1' = c(NA, NA, 8),
               'rel_2' = c(3,NA,7)
               )

df
#>   epoch irrel_2 rel_1 rel_2
#> 1     1      NA    NA     3
#> 2     2       4    NA    NA
#> 3     3       5     8     7

setDT(df)
wrong <- na.omit(df, cols = 3:4)

创建于2023-05-25,共reprex v2.0.2

我只想把第二排过滤掉.您的解决方案是什么?

推荐答案

如果"相关性"的确定很清楚,我们可以使用patterns,或者您可以同样容易地使用名称向量.从那里,我们可以使用rowSums(!is.na(.))找到至少一个非NA的值.

library(data.table)
setDT(df)
df[df[, rowSums(!is.na(.SD)) > 0, .SDcols = patterns("^rel")],]
#    epoch irrel_2 rel_1 rel_2
#    <num>   <num> <num> <num>
# 1:     1      NA    NA     3
# 2:     3       5     8     7

R相关问答推荐

使用R的序列覆盖

在R中查找每个组不同时间段的总天数

如何将在HW上运行的R中的消息(错误、警告等)作为批处理任务输出

保存包含循环和ifelse的函数的输出

获取一个数据库框架的摘要,该数据库框架将包含一列数据库框架,

为什么观察不会被无功值变化触发?

迭代通过1个长度的字符串长字符R

在for循环中转换rabrame

非线性混合效应模型(NLME)预测变量的置信区间

如何得到每四个元素向量R?

如何在R forestplot中为多条垂直线分配唯一的 colored颜色 ?

`lazy_dt`不支持`dplyr/across`?

ComplexHEAT:使用COLUMN_SPLIT时忽略COLUMN_ORDER

用R ggplot2求上、下三角形中两个变量的矩阵热图

如何根据数据帧中的值从该数据帧中提取值?

R -使用矩阵reshape 列表

Rmarkdown::Render vs Source()

数值型数据与字符混合时如何进行绑定

如何在内联代码中添加额外的空格(R Markdown)

Data.table条件合并