【发布时间】:2020-02-05 15:04:32
【问题描述】:
我正在尝试在 R 中复制我在此 Kaggle 笔记本中找到的 Python 图:Titanic Data Science Solutions
这是生成绘图的Python代码,使用的数据集可以在here找到:
import seaborn as sns
...
grid = sns.FacetGrid(train_df, row='Embarked', size=2.2, aspect=1.6)
grid.map(sns.pointplot, 'Pclass', 'Survived', 'Sex', palette='deep')
grid.add_legend()
这里是resulting plot。
survival 列采用值 0 和 1(生存或不生存),y 轴显示每个 pclass 的平均值。在寻找使用ggplot2 计算平均值的方法时,我通常会找到stat_summary() 函数。我能做的最好的就是:
library(dplyr)
library(ggplot2)
...
train_df %>%
ggplot(aes(x = factor(Pclass), y = Survived, group = Sex, colour = Sex)) +
stat_summary(fun.y = mean, geom = "line") +
facet_grid(Embarked ~ .)
输出可以在here找到。
有一些问题:
- 似乎有一个空缺的方面,可能来自于 Embarked 中的 NA?
- 点与线不对齐
- 线条与 Python 图中的线条不同
我想我也没有完全掌握ggplot的分层概念。我想在stat_summary() 函数中分离geom = "line",而是将其添加为+ geom_line()。
【问题讨论】: