我正在尝试编写一行简单的代码来检测数据框中的哪些条目不正确。考虑以下示例:
author val1 val2 val3 val4
A 1 B 1 NA
A NA NA NA NA
NA 2 B NA B
NA NA NA NA B
NA NA NA NA NA
A 2 A NA B
一行总是需要填写作者,但这有时会被遗忘。此外,有时第 2 行填写了作者,但意外的是其余数据输入到了第 3 行。
我想要的是过滤具有NA
作者的行,然后过滤任何列中的任何数据条目。因此,我对上述示例的预期输出将是:
author val1 val2 val3 val4
NA 2 B NA B
NA NA NA NA B
为作者过滤带有 NA 的行很容易,但我不知道下一步该做什么。到目前为止我的代码:
df %>%
filter(
is.na(author)
) %>%
filter(
across(
.cols = everything(),
.fns = ~ !is.na(.x)
)
)
我觉得我已经很接近了,但是经过几个小时的尝试和查看堆栈后,我的代码仍然向我返回空数据帧。我更喜欢 tidyverse 语法的解决方案,但非常感谢任何帮助。