Здесь я пытаюсь разделить таблицу с помощью функции фильтра (одна таблица, где запись в первом столбце заканчивается символом «\», а другая таблица - где нет). Затем я беру первую таблицу (для которой запись первого столбца заканчивается backsla sh) и вставляю первый столбец вместе со вторым столбцом. Теперь, когда я это сделал, я хочу снова отфильтровать столбцы, которые не заканчиваются на backsla sh, а затем привязать их к первой таблице, которая не заканчивалась на sla sh в начале. Но я получаю предупреждающее сообщение:
Warning message:
In `[<-.factor`(`*tmp*`, ri, value = c(985L, 0L, 0L, 0L, 500L, 0L, :
invalid factor level, NA generated
Вот мой код:
imdb1 <- imdb %>% select(-(1:2)) %>%
filter(!str_detect(title, "\\\\$"))
imdb2 <- imdb %>% select(-(1:2)) %>%
filter(str_detect(title, "\\\\$"))
title <- substr(x = imdb2$title, start = 1, stop = nchar(as.character(imdb2$title))-1)
title <- paste(title, imdb2$wordsInTitle, sep = "")
imdb2$title <- title
for (i in 3:(ncol(imdb2))-1) {
imdb2[, i] = imdb2[, i+1]
}
imdb3 <- filter(.data = imdb2, !str_detect(string = title, pattern = "\\\\$"))
imdb <- rbind(imdb1, imdb3)
Что означает предупреждающее сообщение, а также, возможно, есть более красноречивый способ изолировать данные на основе какое-то условие, чем отфильтровать, а затем переименовать каждый фильтр?