r - 使用 rowwise() 时如何处理整行?

标签 r tidyverse

我的数据集由数字列组成,其中有一些缺失(即 NA)值。我想找到完全由 NA 值组成的行。例如:

library(tidyverse)
library(magrittr)

frm <- tribble(
  ~A, ~B, ~C,
  11, 22, 33,
  14, NA, 37,
  10, 29, 36,
  NA, NA, NA,
  18, 28, 38
)

我可以使用 is.na() 和 all() 处理 for 循环中的每一行,但我想找到一个“整洁”的解决方案。这是我能做的最好的事情:

frm %>%
 rowwise %>%
 summarize(all_values_missing = is.na(A) & is.na(B) & is.na(C))

但是这种方法无法扩展到具有大量列和重要列名的数据集。任何想法将不胜感激!

最佳答案

使用c_across函数来提供帮助。例如

frm %>%
  rowwise %>%
  summarize(all_values_missing = all(is.na(c_across())))

如果您只需要列的子集,c_across() 也将接受整洁的选择器。

关于r - 使用 rowwise() 时如何处理整行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69805092/

相关文章:

r - 一次旋转更长的十二列

重复 data.frame 的行 N 次

r - 将列表转换为 Tibble 并添加带有列表名称的列

r - 如何使用 dplyr 管道拆分字符串和计算字母频率

r - R 中可以绘制有理函数吗?

r - dplyr:取消选择由给出的列

递归 purrr::modify_depth() 不适用于参差不齐的列表

r - 用较小的子矩阵填充较大的矩阵

r - 如何在两列中查找具有相同值的行?

r - 禁用对话框 - 另存为 - Rselenium