Извините, что задаю вопрос, который был задан ранее на SO, но я пытаюсь построить некоторые простые данные в ggplot2 и у меня проблемы с бинированием данных по оси x. Мои данные состоят из визуальных элементов в старых книгах (диаграммы, гравюры и т. д.), и я могу построить график частоты появления каждого типа визуальных элементов в каждом году:
#this works
df <- read.table("cleaned_estc_visuals.txt",
header = F,
sep = "\t")
ggplot(data=df, aes(x=V1, y=V3)) +
geom_bar(aes(fill=V2),stat="identity") +
labs(title = "Visuals in Early Modern Books",fill="") +
xlab("Year") +
ylab("Titles")
Это дает:
Чтобы сделать данные более разборчивыми, я хочу сгруппировать значения по оси x по десятилетию, но не могу понять правильный вызов:
#this doesn't
ggplot(data=df, aes(x=V1, y=V3)) +
geom_bar(aes(fill=V2),binwidth=10,stat="bin")
Запустив последний код, я получаю:
Mapping a variable to y and also using stat="bin".
With stat="bin", it will attempt to set the y value to the count of cases in each group.
This can result in unexpected behavior and will not be allowed in a future version of ggplot2.
If you want y to represent counts of cases, use stat="bin" and don't map a variable to y.
If you want y to represent values in the data, use stat="identity".
See ?geom_bar for examples. (Deprecated; last used in version 0.9.2)
Error in pmin(y, 0) : object 'y' not found
Кто-нибудь знает, как я могу сгруппировать по десятилетию по оси x? Буду признателен за любые советы, которые могут дать другие.