#r #csv #ggplot2 #linear-regression #linegraph
#r #csv #ggplot2 #линейная регрессия #linegraph
Вопрос:
Я импортировал файл .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"
)
Проблема в том, что я хочу иметь одну строку для мужчин и одну для женщин, чтобы сравнить 2 строки на одном графике. Но фактический результат, который я имею, — это одна строка на графике.
Ответ №1:
Вам нужно сопоставить 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 пакетом reprex (версия 0.2.1)
Комментарии:
1. Спасибо! Как изменится сценарий (как в первой части этого), если я использую файл .csv? Полные данные находятся между 1900-2014 годами.
2. Вам просто нужно заменить
df
в моем коде имя фрейма данных, например,sex
в вашем исходном примере3. Смотрите Это , чтобы узнать больше о
ggplot2
4. Как бы вы настроили это для создания гистограммы?
5. @emily123: смотрите ссылку, которую я опубликовал ранее