我有一个包含完整和不完整行的 data.frame,例如:
dat <- data.frame(
"one" = c(1, 1, 1, 3, NA),
"two" = c(2, 2, NA, 4, 4),
"three" = c(1, 1, NA, 5, 5),
"four" = c(2, NA, 2, 6, 6)
)
Run Code Online (Sandbox Code Playgroud)
我想将包含 NA 的行标记为 TRUE,其中它们的值等于同一列中的值,在具有较少 NA 的行上,所以
dat$redundant <- c(FALSE, TRUE, TRUE, FALSE, TRUE)
Run Code Online (Sandbox Code Playgroud)
本质上,我正在寻找duplicated(dat, MARGIN = 1)但NA计数为与任何当前值的匹配。这可能吗?
我们可以用
library(dplyr)
library(tidyr)
dat %>%
fill(everything()) %>%
duplicated
#[1] FALSE TRUE TRUE FALSE TRUE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |