【发布时间】:2017-11-27 12:39:27
【问题描述】:
我正在尝试替换 tibble 中一组特定列的 NA 值。这些列都以相同的前缀开头,所以我想知道是否有一种简洁的方法可以利用 dplyr 包中的 starts_with() 函数来允许我这样做。
我在 SO 上看到了其他几个问题,但是它们都需要使用特定的列名或位置。我真的很懒惰,不想定义所有列,只是前缀。
我尝试了tidyr 包中的replace_na() 函数,但无济于事。我知道我的代码对于作业来说是错误的,但我的词汇量不够大,不知道去哪里找。
代表:
library(tidyverse)
tbl1 <- tibble(
id = c(1, 2, 3),
num_a = c(1, NA, 4),
num_b = c(NA, 99, 100),
col_c = c("d", "e", NA)
)
replace_na(tbl1, list(starts_with("num_") = 0)))
【问题讨论】: