r - ggplot2 примеры



ggplot2 запускает и обновляет график, но данные фактически не отображаются (1)

Я пытаюсь создать граф, используя ggplot2 в R. Хотя я могу генерировать график, который я хочу использовать plot() и когда я запускаю код ggplot ниже, он отображается с соответствующими осями, но нет данных или масштаба.

Данные выглядят примерно так:

data <- data.frame(area=c("alpha", "alpha", "bravo", "bravo", "charlie", "charlie"),
                   year=c(2001, 2002, 2001, 2002, 2001, 2002),
                   rate=c(.94, .90, .83, .87, .87, .95))

где область является символьной переменной, а год / скорость являются численными.

Если я убегу

plot(data$year, data$rate)

Я получаю в окне графика график, который я ожидаю увидеть. То, что я пытаюсь сделать, это воссоздать это в ggplot как линейный график. Вот что я пробовал:

gg <- ggplot(data=data, aes(x="year", y="rate", group="area"))
gg + geom_point()
gg + geom_line()
gg

# also tried subsetting to remove the group issue, thinking that might help but it didn't. also removed line from this too
temp <- data[data$area=="alpha",]
gg <- ggplot(data=temp, aes(x="year", y="rate"))
gg + geom_point()
gg

# also tried this which manages to put a dot in the middle of the still empty plot
ggplot(data=test) +
     geom_point(mapping=aes(x="Year", y="Attendance Rate", group="Area"))

В обоих случаях я получаю тот же результат: код работает нормально (без ошибок), и окно графика обновляется в зависимости от того, что я исправляю совсем недавно, но пока у него есть соответствующие метки X и Y (год / скорость), это фактически не поместите данные там. Там также нет масштаба, поэтому он не читает эту информацию ни в одном, по-видимому.

Что я здесь делаю неправильно? Я использовал гиды и справочные листы ниже, но я (по крайней мере, хотел бы подумать, что я) воссоздал их правильно, но ясно, что нет.

https://www.rstudio.com/wp-content/uploads/2016/11/ggplot2-cheatsheet-2.1.pdf

http://r-statistics.co/ggplot2-cheatsheet.html

http://www.sthda.com/english/wiki/ggplot2-line-plot-quick-start-guide-r-software-and-data-visualization

http://tutorials.iq.harvard.edu/R/Rgraphics/Rgraphics.html


Не используйте кавычки.
С помощью: aes("year", "rate") вы замышляли слова "year" и "rate" .
С помощью aes(year, rate) вы указываете переменный year и rate в data .

ggplot(data, aes(year, rate, group = area)) + 
    geom_point() + 
    geom_line()

Если по какой-то причине вам нужно использовать кавычки, вместо этого используйте aes_string :

ggplot(data, aes_string("year", "rate", group = "area")) + 
    geom_point() + 
    geom_line()