У меня есть объект tibble
, и я хочу заменить все столбцы, кроме определенных, значением (скажем, NA
или 0
). Я могу сделать это без труб %>%
, но как я могу сделать это с %>%
?
library(tibble)
dtf <- tibble(id = c('12', '22', '33', '40'),
x1 = c(0, 2, 3, 4),
a2 = c(1, 0, 3, 0),
c5 = c('a', 'b', 'c', 'd'))
# This raises an error:
dtf %>% select(-id) <- NA
Error in dtf %>% select(-id) <- NA : could not find function "%>%<-"
# This works:
dtf[, colnames(dtf) != 'id'] <- NA
dtf
# A tibble: 4 x 4
id x1 a2 c5
<chr> <lgl> <lgl> <lgl>
1 12 NA NA NA
2 22 NA NA NA
3 33 NA NA NA
4 40 NA NA NA
Я считаю, что я должен использовать mutate()
или mutate_all()
, но я не мог понять, , Один аналогичный SO ответ предложил na_if()
для NA
значений, но я не могу заставить его работать в этом случае.