Я следую учебнику в книге Machine Learning for Hackers Дрю Конвей и Джон Уайт и Я застрял с проблемой построения гистограммы. Пример кода запускается здесь:
> quick.hist <- ggplot(ufo.us, aes(x = DateOccurred)) +
+ geom_histogram() +
+ scale_x_date(major = "50 years")
производит
Error in continuous_scale(aesthetics, "date", identity, breaks = breaks, : unused argument(s) (major = "50 years")
и
> ggsave(plot = quick.hist,
+ filename = "C:\test.png",
+ height = 6,
+ width = 8)
производит
Error in inherits(plot, "ggplot") : object 'quick.hist' not found
Я использую R версию 2.14.2. и библиотеку ggplot2. Заранее благодарим за любую помощь.
решаемые
Быстрое решение, которое сработало для меня, заключалось в том, чтобы исключить часть "+ scale_x_date (major =" 50 лет ") каждой строки, на которую ссылается метка. Окончательный код, создавший гистограмму, был следующим:
> quick.hist <- ggplot(ufo.us, aes(x = DateOccurred)) +
+ geom_histogram()
Я хотел бы добавить метки в диаграммы в какой-то момент, но пока это решение работает с новой версией ggplot2.
Улучшено разрешение:
Я столкнулся с подобными проблемами, просматривая практический пример книги. Я размещаю здесь полный фрагмент для создания заключительного сюжета в книге (это не тот сюжет, на который ссылался первоначально в этом вопросе, но он тоже разоблачал те же проблемы).
Это исправление устраняет проблемы
- старый синтаксис на scale_x_date (спасибо
Jonas Heidelberg
) - необходимо явно ссылаться на библиотеку
scales
(спасибоB0WSER
) - устаревший синтаксис для
legend=
(заменен наguide=
) - устаревший синтаксис для
opts()
(заменен наlabs()
и другие)
Изменения в фрагменте книги выделены жирным шрифтом ниже:
library(ggplot2)
библиотека (весы) state.plot <-
ggplot(all.sightings, aes(x=YearMonth, y=Sightings)) +
geom_line(aes(color="darkblue")) +
facet_wrap(~State, nrow=10, ncol=5) +
theme_bw() +
scale_color_manual(values=c("darkblue"="darkblue"),
guide = "none" ) +
scale_x_date (breaks = date_breaks (width = "5 years" ),
label = date_format ( "% Y" )) +
xlab("Time") + ylab("Nb of Sightings") +
лаборатории (название = "Nb of UFO sightings by Month-Year and US State (1990-2000)")
print(state.plot)