У меня есть следующие данные:
library(dplyr)
d <- data_frame(
region = c('all', 'nj', 'rkl', 'all'),
place = c("one", "two","three", "four"),
figures= c(5, 7, 4, 8),
figures2 = c(3, 5, 6, 7))
Я хочу использовать mutate
и replace
в dplyr для округления некоторых строк, но не других.Вот мой код:
d %>%
mutate(figures = replace(figures, region == 'all' & place !='two',
round(d$figures/10)*10)) %>%
mutate(figures2 = replace(figures2, region == 'all' & place !='one',
round(d$figures/10)*10)) -> d2
Это действительно то, что я хочу.Однако я получаю следующее предупреждение In x[list] <- values :number of items to replace is not a multiple of replacement length
.Я обычно игнорировал бы это, поскольку код делает то, что я хочу.Однако при применении кода к большему набору данных округление перестает работать, как я ожидал.
Кто-нибудь знает, почему это может быть?
Спасибо