У меня есть эти данные, в которых я хочу заменить «20 октября» на «10-20» в столбце «глубина». Глубина является фактором здесь.
БАЭС
Вот что я пробовал:
BNPP <- BNPP %>%
mutate(depth = replace(depth, depth == "20-Oct", "10-20"))
И я получил это сообщение об ошибке:
Warning message:
In `[<-.factor`(`*tmp*`, list, value = "10-20") :
invalid factor level, NA generated
Поэтому я попытался исправить это, выполнив следующее:
BNPP <- BNPP %>%
BNPP$depth <- as.character(BNPP$depth) %>%
mutate(depth = replace(depth, depth == "20-Oct", "10-20"))
И я получил другое сообщение об ошибке:
Error in UseMethod("mutate_") :
no applicable method for 'mutate_' applied to an object of class "character"
Я пытался поместить as.character вне фрагмента кода, и это сработало, но я понятия не имею, почему:
BNPP$depth <- as.character(BNPP$depth)
BNPP <- BNPP %>%
mutate(depth = replace(depth, depth == "20-Oct", "10-20"))
Буду признателен за объяснение, почему первый не работает, а последний работает.