R - График x = Месяц Год с dplyr group by и ggplot [дубликат]

Это звучит как хорошая задача описания технологии W3C XPath . Легко выразить такие запросы, как «вернуть все href атрибуты в тегах img, которые вложены в elements». Не являясь баффом PHP, я не могу сказать вам, в какой форме XPath может быть доступен. Если вы можете вызвать внешнюю программу для обработки HTML-файла, вы сможете использовать версию командной строки XPath. Для быстрого ввода см. http://en.wikipedia.org/wiki/XPath .

93
задан Sam Firke 9 December 2015 в 05:03
поделиться

3 ответа

Вам нужно добавить group = 1 в ggplot или geom_line aes ().

Для линейных графиков точки данных должны быть сгруппированы так, чтобы он знал, какие точки для соединения. В этом случае это просто - все точки должны быть связаны, поэтому group = 1. Когда больше переменных используется и вырисовываются несколько строк, группировка для строк обычно выполняется переменной.

Ссылка: Cookbook for R, Chapter: Graphs Bar_and_line_graphs_ (ggplot2), Line графы.

Попробуйте следующее:

plot5 <- ggplot(df, aes(year, pollution, group = 1)) +
         geom_point() +
         geom_line() +
         labs(x = "Year", y = "Particulate matter emissions (tons)", 
              title = "Motor vehicle emissions in Baltimore")
200
ответ дан Brad Larson 31 August 2018 в 13:10
поделиться

Вы получаете эту ошибку, потому что одна из ваших переменных на самом деле является переменной фактора. Выполните

str(df) 

, чтобы проверить это. Затем сделайте это двойное изменение переменной, чтобы сохранить цифры года вместо того, чтобы превращаться в номера уровней «1,2,3,4»:

df$year <- as.numeric(as.character(df$year))

EDIT: кажется, что ваш data.frame имеет переменную класс "array", который может вызвать pb. Попробуйте:

df <- data.frame(apply(df, 2, unclass))

и plto

15
ответ дан agenis 31 August 2018 в 13:10
поделиться

Запустите R в новой сессии и вставьте это в:

library(ggplot2)

df <- structure(list(year = c(1, 2, 3, 4), pollution = structure(c(346.82, 
134.308821199349, 130.430379885892, 88.275457392443), .Dim = 4L, .Dimnames = list(
    c("1999", "2002", "2005", "2008")))), .Names = c("year", 
"pollution"), row.names = c(NA, -4L), class = "data.frame")

df[] <- lapply(df, as.numeric) # make all columns numeric

ggplot(df, aes(year, pollution)) +
           geom_point() +
           geom_line() +
           labs(x = "Year", 
                y = "Particulate matter emissions (tons)", 
                title = "Motor vehicle emissions in Baltimore")
1
ответ дан G. Grothendieck 31 August 2018 в 13:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: