r - 如何将 .csv 文件中的两个变量绘制为 ggplot2 中的两条线?
问题描述
我已经导入了一个 .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 年 4 月 15 日创建
推荐阅读
- python - Django models.OneToOneField(User) 无法通过 profile.html 中的 user.profile 访问数据
- python - Setuptools 从 URL 安装包
- ubuntu - Kubernetes:无法访问法兰绒 pod
- jupyter-notebook - 如何使用键盘快捷键在 Jupyter Notebook 中运行特定范围的单元格?
- python - 如何在tensorflow2中改变像numpy和pytorch这样的张量?
- mysql - Spring boot MariaDB Vault 用户名凭据在启动期间不可用
- flutter - 什么是颤振中的构建器功能?
- scala - 线程“main”中的异常 java.lang.NoClassDefFoundError: intellij 中 spark scala 应用程序中的 org/apache/spark/sql/catalyst/StructFilters
- java - 并行流功能需要更多时间
- reactjs - 在 React 中从一个页面重定向到另一个页面