Когда я загрузки данных из Google Trend, набор данных выглядит следующим образом:Google Trends и недели, ggplot2
Week nuclear atomic nuclear.weapons unemployment
2004-01-04 - 2004-01-10 11 11 1 15
2004-01-11 - 2004-01-17 11 13 1 13
2004-01-18 - 2004-01-24 10 11 1 13
Как я могу изменить даты в «Неделе» из этого формата «Ymd - Ymd» в формат «Год-неделя»?
Кроме того, как я могу сказать ggplot, что только годы печатаются на осях x вместо всех значений для x?
@Mattrition: спасибо. Я последовал вашему совету:
trends <- melt(trends, id = "Woche",
measure = c("nuclear", "atomic", "nuclear.weapons", "unemployment"))
trends$Week<- gsub("^(\\d+-\\d+-\\d+).+", "\\1", trends$Week)
trends$Week <- as.Date(trends$Week)
ggplot(trends, aes(Week, value, colour = variable, group=variable)) +
geom_line() +
ylab("Trends") +
theme(legend.position="top", legend.title=element_blank(),
panel.background = element_rect(fill = "#FFFFFF", colour="#000000"))+
scale_color_manual(values=c("#999999", "#E69F00", "#56B4E9", "#009E73"))+
stat_smooth(method="loess")
Теперь каждый второй год обозначен (2004, 2006, ...) в оси х. Как я могу объявить ggplot каждый год (2004, 2005, ...)?
Ваш пример данных немного трудно кормить, чтобы R из-за пробелов в значениях «Неделя». Взгляните на [Как сделать отличный воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) для других способов предоставить пример из данных, которые вы используете, особенно в этом случае, возможно, лучше использовать результаты 'dput (head (my.data.frame))' – MattLBeck