#r #ggplot2 #nlp
Вопрос:
Пытаюсь закрасить часть линии в ggplot. Этот цвет представляет значимые слова в ранжировании частот слов, отфильтрованных по исходным построенным данным.
Ошибка:
Ошибка в
check_aesthetics()
: Эстетика должна быть либо длиной 1, либо такой же, как данные (1306062): x и y
Оригинальный сюжет:
#plot
word_freq_rank <- ggplot(word_list, aes(x = seq_along(freqs), y = freqs, group = 1))
geom_line()
coord_trans(y ='log10', x='log10')
labs(title = "Rank Frequency Plot", x = "log-Rank", y = "log-Frequency")
Обработка текста:
# REMOVE STOPWORDS AND INFREQUENT WORDS- TO DEFINE BEST RANGE FOR ANALYSIS, by removing insignificant word indexes
stopword_idx <- which(word_list$words %in% stop_words)
low_frequent_idx <- which(word_list$freqs < 10)
insignificant_idx <- union(stopword_idx, low_frequent_idx)
meaningful_range_idx <- setdiff(1:nrow(word_list), insignificant_idx)
Добавление строки:
# plot the meaningful range of the rank-frequency to use
word_freq_rank geom_path(mapping = aes(x = meaningful_range_idx, y = freqs[meaningful_range_idx], color="green"), inherit.aes = TRUE)
Ошибка возникает, когда я пытаюсь добавить строку в конце кода ниже. Я упускаю кое-что основное, но в растерянности. Любая помощь будет признательна.
Комментарии:
1. Невозможно воспроизвести без данных, но вы можете попробовать создать фрейм данных для передачи .
geom_path
Кроме того, переместитесьcolor="green"
за пределыaes
.2. Может быть, установить
inherit.aes = FALSE
вgeom_path
слое? Похоже, вы указываете всю эстетику, которая вам нужна.