Как построить две переменные из CSV-файла в виде двух строк в ggplot2? - PullRequest
1 голос
/ 15 апреля 2019

Я импортировал файл .csv и нанес свои точки данных на линейный график.Но я пытаюсь сравнить продолжительность жизни мужчин и женщин, но не могу понять, как построить одну линию для мужчин и одну для женщин.

Вот пример части моих данных (ALE обозначаетсредняя продолжительность жизни).

Year    Sex ALE
1900    Female  48.3
1900    Male    46.6
1901    Female  50.6
1901    Male    48
1902    Female  53.4
1902    Male    50.2
1903    Female  52
1903    Male    49.5
1904    Female  49.1
1904    Male    46.6
1905    Female  50.2
1905    Male    47.6

Это код, который я имею до сих пор.В конечном итоге я помещу свою работу в файл .rmd.

library(ggplot2) # call up ggplot2
library(RColorBrewer) # call up rcolorbrewer palette
options(scipen = 999) # remove scientific notation
sex <- read.csv("~/Big Data IBP/Life expectancy_sex.csv") # data focusing on life expectancy comparing sex. #male v. female
# run test to see how year of death has changed over the years
ggplot(data = sex, aes(x = Year, y = ALE)) +
  geom_line(linetype = "solid", col = "Blue", size = 0.5, arrow = arrow()) +
  labs(
    title = "Average Life Expectancy Based on Sex",
    subtitle = "1900-2014", x = "Year", y = "Age at Death"
  )

Проблема в том, что я хочу иметь одну строку для мужчин и одну для женщин, чтобы сравнить две строки на одном графике.Но фактический результат, который я имею, - одна линия на графике.

1 Ответ

0 голосов
/ 15 апреля 2019

Вам необходимо сопоставить group, color и linetype с aes

library(ggplot2) # call up ggplot2
options(scipen = 999) # remove scientific notation

df <- read.table(text = "Year    Sex ALE
1900    Female  48.3
1900    Male    46.6
1901    Female  50.6
1901    Male    48
1902    Female  53.4
1902    Male    50.2
1903    Female  52
1903    Male    49.5
1904    Female  49.1
1904    Male    46.6
1905    Female  50.2
1905    Male    47.6",
                 header = TRUE, stringsAsFactors = FALSE)
# run test to see how year of death has changed over the years
ggplot(data = df, aes(x = Year, y = ALE, 
                      group = Sex, color = Sex, linetype = Sex)) +
  geom_line(size = 0.5, arrow = arrow()) +
  labs(
    title = "Average Life Expectancy Based on Sex",
    subtitle = "1900-2014", x = "Year", y = "Age at Death"
  ) +
  scale_color_brewer(palette = "Dark2") +
  theme_classic(base_size = 16)

Создано в 2019-04-15 пакетом представ. (v0.2.1)

...