0
点赞
收藏
分享

微信扫一扫

如何实现r语言泰坦尼克号数据分析的具体操作步骤

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
举报

相关推荐

0 条评论