1912年4月15日,英国皇家邮轮泰坦尼克号(RMS Titanic)在北大西洋撞上冰山沉没,1500多名乘客遇难,成为和平时期死亡人数最多的海难之一。这个沉船故事不断地为作家、电影制作人和歌曲作者提供创作灵感。1997年末,大导演詹姆斯·卡梅隆耗资2.5亿美元打造的《泰坦尼克号》在全球各地掀起观影狂潮,影片运用最先进的数字技术在银幕上逼真还原了泰坦尼克号沉没的全过程,搭配上男女主人公杰克与露丝生死不渝的伟大爱情,令无数观众如痴如醉,狂揽18亿美元的全球票房,成为影史至尊。2012年4月,在泰坦尼克号沉船事件百年之际,全新打造的3D《泰坦尼克号》将在全球各地重映。
当时搭乘泰坦尼克号的乘客都留下了详细的资料,本文试图利用这个资料来建立各种图表,以回答这样一个问题:在当时什么样的人存活率最高?涉及的数据集中包括了四个变量:是否获救Survived,所在舱Class,年龄Age,性别Sex。我们首先从网络上读取数据文件,进行简单的统计描述。


- # Get Data
- url <- "http://stats.math.uni-augsburg.de/Mondrian/Data/Titanic.txt"
- data <- read.csv(url,T,sep="\t")
- library(ggplot2)
- p <- ggplot(data,aes(x=Class,fill=Survived))
- p + geom_bar(position="stack")+ coord_flip() + facet_wrap(~Sex)
- library(vcd)
- plot(1)
- mosaic(Survived~ Class+Sex, data = data,shade=T, highlighting_direction = "right")
- # Survival
- fx <- function(x) length(x[x=="Yes"])
- table1 <- data.frame(with(data,aggregate(x=Survived,by=list(Class,Sex,Age),FUN=length)))
- table2 <- data.frame(with(data,aggregate(x=Survived,by=list(Class,Sex,Age),FUN=fx)))
- table1$y <- table2$x
- table1$survived <- round(table1$y /table1$x,digits=2)
- table1[order(table1$survived,decreasing=T),]
- # Decision Tree Model
- library(rpart)
- formula <- Survived~ Class+Sex+Age
- fit <- rpart(formula,data)
- library(maptree)
- draw.tree(fit)
来源:什么样的人能逃离泰坦尼克号?




雷达卡


京公网安备 11010802022788号







