r语言Titanic对年龄数据集采集可视化代码
时间: 2024-03-23 12:43:07 浏览: 125
以下是使用 `ggplot2` 包可视化 Titanic 数据集中年龄变量的代码示例:
```R
library(ggplot2)
library(dplyr)
# 加载数据集
data(Titanic)
# 取出年龄变量并转化为数值型
age_data <- Titanic %>%
filter(!is.na(Age)) %>%
mutate(Age = as.numeric(Age))
# 绘制直方图
ggplot(age_data, aes(x = Age)) +
geom_histogram(binwidth = 5, fill = "blue") +
labs(title = "Distribution of Age in Titanic dataset",
x = "Age",
y = "Count")
```
这段代码首先加载了 `ggplot2` 和 `dplyr` 包,并且通过 `data()` 函数加载了 Titanic 数据集。然后,我们取出了年龄变量并将其转化为数值型。最后,通过 `ggplot()` 函数和 `geom_histogram()` 函数绘制了年龄的直方图,并通过 `labs()` 函数添加了标题和坐标轴标签。
相关问题
可以帮我完成Titanic数据集的可视化分析吗
当然可以,以下是一个基于Titanic数据集的可视化分析示例:
首先,我们需要导入必要的Python库,如pandas、numpy、matplotlib和seaborn。然后,我们可以使用pandas库读取我们的数据集并查看其内容。
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 读取数据集
data = pd.read_csv('titanic.csv')
# 显示前5行数据
print(data.head())
```
接下来,我们可以使用seaborn库绘制一些有关Titanic数据集的基本信息,例如乘客性别、舱位等级和生存情况之间的关系图。
```python
# 绘制乘客性别和生存情况之间的关系图
sns.catplot(x='Sex', y='Survived', kind='bar', data=data)
# 绘制不同舱位等级和生存情况之间的关系图
sns.catplot(x='Pclass', y='Survived', kind='bar', data=data)
# 绘制不同年龄段和生存情况之间的关系图
bins = [0, 18, 30, 50, 80]
labels = ['0-18', '18-30', '30-50', '50+']
data['Age_group'] = pd.cut(data['Age'], bins=bins, labels=labels)
sns.catplot(x='Age_group', y='Survived', kind='bar', data=data)
# 显示图表
plt.show()
```
我们可以看到,女性和高级别舱位的乘客生存率更高,年龄在18到30岁之间的乘客生存率也相对较高。
接下来,我们可以使用seaborn库绘制一些有关Titanic数据集的更高级别的信息,例如乘客年龄、船票价格和登船口岸之间的关系。
```python
# 绘制乘客年龄和船票价格之间的关系图
sns.jointplot(x='Age', y='Fare', data=data)
# 绘制不同登船口岸和船票价格之间的关系图
sns.catplot(x='Embarked', y='Fare', kind='box', data=data)
# 显示图表
plt.show()
```
我们可以看到,船票价格与乘客年龄和登船口岸之间存在一些有趣的关系,例如在S口岸登船的乘客购买的船票价格相对较低。
这就是一个基于Titanic数据集的可视化分析示例。使用Python和seaborn库,我们可以轻松地探索和可视化数据,从而更好地了解数据并得出有意义的结论。
按要求对titanic数据进行数据分布可视化展示 舱位等级---存活柱状图 登陆港口---存活柱状图 年龄---舱位等级箱线图 年龄---存活直方图
好的,我了解您的要求,以下是回答:
为了实现您的要求,我使用Python语言和Matplotlib库来可视化展示Titanic数据集的数据分布。
首先是舱位等级和存活的柱状图,代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取Titanic数据集
titanic_data = pd.read_csv('titanic.csv')
# 统计每个舱位等级的存活人数
survived_by_pclass = titanic_data.groupby('Pclass')['Survived'].sum()
# 绘制柱状图
plt.bar(survived_by_pclass.index, survived_by_pclass.values)
plt.xticks([1, 2, 3])
plt.xlabel('Pclass')
plt.ylabel('Survived')
plt.title('Survived by Pclass')
plt.show()
```
接下来是登陆港口和存活的柱状图,代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取Titanic数据集
titanic_data = pd.read_csv('titanic.csv')
# 统计每个登陆港口的存活人数
survived_by_embarked = titanic_data.groupby('Embarked')['Survived'].sum()
# 绘制柱状图
plt.bar(survived_by_embarked.index, survived_by_embarked.values)
plt.xlabel('Embarked')
plt.ylabel('Survived')
plt.title('Survived by Embarked')
plt.show()
```
然后是年龄和舱位等级的箱线图,代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取Titanic数据集
titanic_data = pd.read_csv('titanic.csv')
# 绘制箱线图
plt.boxplot([titanic_data[titanic_data.Pclass == 1].Age.dropna(),
titanic_data[titanic_data.Pclass == 2].Age.dropna(),
titanic_data[titanic_data.Pclass == 3].Age.dropna()])
plt.xticks([1, 2, 3], ['1st', '2nd', '3rd'])
plt.xlabel('Pclass')
plt.ylabel('Age')
plt.title('Age by Pclass')
plt.show()
```
最后是年龄和存活的直方图,代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取Titanic数据集
titanic_data = pd.read_csv('titanic.csv')
# 绘制直方图
plt.hist([titanic_data[titanic_data.Survived == 0].Age.dropna(),
titanic_data[titanic_data.Survived == 1].Age.dropna()],
bins=20, label=['Not survived', 'Survived'])
plt.xlabel('Age')
plt.ylabel('Frequency')
plt.title('Survival by Age')
plt.legend()
plt.show()
```
以上是对Titanic数据集的数据分布可视化展示,希望能够满足您的需求。如有其他问题,请随时提出。
阅读全文