泰坦尼克号数据分析
1.提出问题
1.泰坦尼克号救生船上的男女比例是否符合电影情节(优先保护女性)?
2.救生船的安放是否合理?是否出现慌乱?
2.数据预处理
2.1 缺失值可视化
1 2 3 4 5 6
| library('vcd') library('grid') lb <- Lifeboats
library(VIM) matrixplot(lb)
|

发现数据良好,无缺失值。
3.方差分析
3.1 交互作用分析
1 2 3 4
| library(stats)
wm <- aov(total~women*men*crew, data = lb) summary(wm)
|
1 2 3 4 5 6 7 8 9 10 11 12
| > summary(wm) Df Sum Sq Mean Sq F value Pr(>F) women 1 4465 4465 5.380e+32 <2e-16 *** men 1 449 449 5.415e+31 <2e-16 *** crew 1 106 106 1.275e+31 <2e-16 *** women:men 1 0 0 1.170e-01 0.7394 women:crew 1 0 0 3.520e+00 0.0901 . men:crew 1 0 0 1.628e+00 0.2308 women:men:crew 1 0 0 2.900e-02 0.8681 Residuals 10 0 0 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
|
通过方差交互效应分析我们发现,船员优先保护女性,女性获救比例比男性高很多(women : men 的 p 值0.7394)
4.数据可视化
4.1 女性、男性、船上船员获救比例图
1 2 3 4 5 6 7 8 9
| type <- c('women','men','crew') nums <- c(sum(lb$women), sum(lb$men), sum(lb$crew)) df <- data.frame(type = type, nums = nums) p <- ggplot(data = df, mapping = aes(x = 'Content', y = nums, fill = type))+ geom_bar(stat = 'identity', position = 'stack') p + coord_polar(theta = 'y') + labs(x = '', y = '', title = 'The relation of W&M&C') + theme(axis.text = element_blank(),panel.grid=element_blank())
|

可以看出女性获救比例很高,事实上确实先保护了女性。
4.2 关于救生船
1 2 3 4 5
| qplot(total/cap, data = lb, geom = 'density',color=side) # 查看船容量与实际乘坐人数的关系 # Port是左侧 Starboard是右侧 qplot(women/total, data = lb,geom = c('density'),color = side) # 查看女性占获救占比总数
|


- 我们明显发现Starboard这一侧做的比较空,可能遇到了慌乱,也许不同侧当时遇到的情况不同。
- 女性获救比例在右舷侧更高。
1 2 3 4 5
| qplot(side,total/cap,data = lb, geom = 'boxplot', main = '')+ geom_dotplot(binaxis = 'y', stackdir = 'center', dotsize = 0.5,color = 'black')
|

箱线图可以更好的体现当时的情景。明显左舷侧做的比较满,而右舷侧比较空。左侧也遇到了超载的情况。
1 2 3 4
| > sum(lb$total) [1] 854 > sum(lb$cap) [1] 1084
|
通过计算发现实际获救人数比救生船容量少了许多。
泰坦尼克号的救生艇其实设计得非常结实,可以承受70个人的重量,但是船员们却不知道这一点。实际上本可以总共搭载1178人的救生艇,最后只上去了651人(还有一些人是跳海之后被救上救生艇)。在船的左舷,救生船只载妇女和儿童。在右舷,则是妇女优先逃生之后允许男性登艇。所以,在右舷获救的人数比在左舷获救的多。
泰坦尼克号(英国1912年沉没的巨型游轮)_百度百科 (baidu.com)
由于数据量太小,通过查阅资料发现, 实际上右舷侧确实引发了慌乱救援过程出现了骚乱
1:20:水从E甲板的工作走廊直接往后漫,灌入4号锅炉舱。D层的前部餐厅几乎已成了潜水训练场,船体重心不断缓慢前移。原先平静的顶层甲板乱成一片,乘客终于发觉事态的严重,纷纷挤向救生艇。骚乱在不断地升级,船员开枪压制乘客,疏散工作开始失去控制。
1:30:此时船上的人开始发生骚动,当舱侧14号救生艇搭载了60人准备放出时,人群企图跳入艇中,被身处艇中的五等船员劳尔(Lowe)向天开枪吓止。留在泰坦尼克号的人陷入了绝望之中。
1 2 3
| qplot(time , total/cap,geom = 'line',color = side) + geom_smooth(aes(group = side), method = "loess" , se = T,alpha = 0.2,color = 'black')
|
发现
- 左侧一开始没有坐满,后期却又超载不少.
- 右侧乘坐率越来越多,但是始终没有坐满,在右侧发生骚乱后,出现了乘坐率突然下降的趋势,此时情景慌乱.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| data("Lifeboats") attach(Lifeboats) ternaryplot( Lifeboats[,4:6], pch = ifelse(side == "Port", 1, 19), col = ifelse(side == "Port", "red", "steelblue"), id = ifelse(men / total > 0.1, as.character(boat)), prop_size = 1.3, dimnames_position = "corner", main = "Lifeboats on the Titanic", labels = 'outside',
) grid_legend(1.2, 0.9, c(1, 19), c("red", "steelblue"), c("Port", "Starboard"), title = "SIDE") detach(Lifeboats)
|

从三相图可以看出,女性被救援比例高,船员负责航行船只,所以获救也比男性高。
5.Consequence
5.1 回答疑问
- 女性乘客在这个悲剧中首先获救,其次是船员(为了航行船只),男性乘客获救比例最低
- .救生船大部分没有做满,而且左右侧的情况不一样.
5.2 过程中的发现
通过对左舷右舷数据的处理发现
船员对于救生船能坐的人数不清楚,起始阶段很多船没有被利用好,乘座率并不高.
右舷侧发生了骚乱,在救援时候人们发生了争执,由于争夺,导致最后右舷获救反而变少,还出现了停止上船的事故.