小编Kev*_*rca的帖子

在tidyverse中按行等效apply()?

我想在data.frame中插入一个新列,当行中至少有一个缺失值时,该值为TRUE,否则为FALSE.

对于这个问题,apply是一个完美的用例:

编辑 - 添加了示例

tab <- data.frame(a = 1:10, b = c(NA, letters[2:10]), c = c(LETTERS[1:9], NA))

tab$missing <- apply(tab, 1, function(x) any(is.na(x)))
Run Code Online (Sandbox Code Playgroud)

但是,我加载了严格的包,并得到了这个错误:apply() coerces X to a matrix so is dangerous to use with data frames.Please use lapply() instead.

我知道我可以安全地忽略这个错误,但是,我想知道是否有一种方法可以使用其中一个tidyverse包以简单的方式对其进行编码.我尝试使用dplyr失败了:

tab %>% 
  rowwise() %>% 
  mutate(missing = any(is.na(.), na.rm = TRUE))
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse

6
推荐指数
1
解决办法
4056
查看次数

标签 统计

dplyr ×1

r ×1

tidyverse ×1