我已经导入了一个.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"
)
问题是我想在男性上画一条线,在女性上画一条线,以便在一张图表上比较这两条线。但是我得到的实际结果是图中的一条线。
您需要映射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)
由reprex软件包(v0.2.1)创建于2019-04-15
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句