R语言泰坦尼克号数据分析
1. 简介
泰坦尼克号是一艘著名的客轮,于1912年在首次航行中沉没。这个事件造成了超过1500人的生命损失,成为了航海史上最严重的海难之一。泰坦尼克号的沉没引起了全球的关注,并成为了历史研究和数据分析的热门课题之一。
本文将使用R语言对泰坦尼克号的乘客数据进行分析。我们将探索乘客的生存率与其他因素之间的关系,比如性别、年龄、船舱等级等。通过数据分析,我们可以更深入地了解泰坦尼克号沉船事件的背后故事。
2. 数据准备和导入
首先,我们需要准备并导入泰坦尼克号的乘客数据。这个数据集可以从Kaggle网站上下载得到。
# 导入必要的库
library(tidyverse)
# 读取数据
titanic_data <- read_csv("titanic.csv")
3. 数据预处理
在进行数据分析之前,我们需要对数据进行预处理。这包括处理缺失值、清洗数据、转换数据类型等操作。
处理缺失值
# 检查缺失值
sum(is.na(titanic_data))
# 填充缺失值
titanic_data <- titanic_data %>%
mutate(Age = ifelse(is.na(Age), mean(Age, na.rm = TRUE), Age))
清洗数据
# 清除不需要的列
titanic_data <- titanic_data %>%
select(-PassengerId, -Name, -Ticket, -Cabin)
# 删除重复行
titanic_data <- distinct(titanic_data)
转换数据类型
# 将Survived列转换为因子类型
titanic_data$Survived <- as.factor(titanic_data$Survived)
4. 数据分析
接下来,我们将使用R语言进行泰坦尼克号数据的分析。我们将探索乘客的生存率与其他因素之间的关系,并绘制相应的图表。
生存率与性别的关系
# 计算生存率
survival_rate <- titanic_data %>%
group_by(Sex) %>%
summarize(SurvivalRate = mean(Survived == 1) * 100)
# 绘制柱状图
ggplot(survival_rate, aes(x = Sex, y = SurvivalRate, fill = Sex)) +
geom_bar(stat = "identity") +
labs(title = "Survival Rate by Gender",
x = "Gender",
y = "Survival Rate (%)") +
theme_minimal()
生存率与年龄的关系
# 将年龄分组
titanic_data$AgeGroup <- cut(titanic_data$Age, breaks = c(0, 18, 30, 50, Inf),
labels = c("Under 18", "18-30", "31-50", "Over 50"))
# 计算生存率
age_survival_rate <- titanic_data %>%
group_by(AgeGroup) %>%
summarize(SurvivalRate = mean(Survived == 1) * 100)
# 绘制柱状图
ggplot(age_survival_rate, aes(x = AgeGroup, y = SurvivalRate, fill = AgeGroup)) +
geom_bar(stat = "identity") +
labs(title = "Survival Rate by Age Group",
x = "Age Group",
y = "Survival Rate (%)") +
theme_minimal()
生存率与船舱等级的关系
# 计算生存率
class_survival_rate <- titanic_data %>%
group_by(Pclass) %>%
summarize(SurvivalRate = mean(Survived == 1) * 100)
# 绘制柱状图
ggplot(class_survival_rate, aes(x = factor(Pclass), y = SurvivalRate, fill = factor(Pclass))) +
geom_bar(stat = "identity") +
labs(title = "Survival Rate by