R语言使用“纽约市数据集中的优步皮卡”数据创建不同年度时间范围的可视化

一、项目背景

为了分析纽约市优步(https://baike.baidu.com/item/Uber/14900884)皮卡在不同年度的使用情况,需要利用R语言进行数据可视化。通过对比不同年度的数据,可以揭示出优步皮卡使用的趋势和变化。

二、数据准备

• 去除重复和无效数据。

• 转换日期和时间格式为R可识别的格式。

• 提取年份信息,用于后续按年度分组。

三、所需R库和包

• ggplot2:用于数据可视化。

• ggthemes:用于定制图表主题。

• lubridate:用于日期和时间的处理。

• dplyr:用于数据清洗和转换。

• tidyr:用于数据整理。

• DT:用于在RStudio的Viewer中展示数据表。

• scales:用于坐标轴的刻度设置。

四、可视化需求

    1. 导入数据
      使用read.csv()或read_excel()等函数导入数据,确保数据格式正确。
    1. 数据预处理
      • 利用lubridate包处理日期和时间数据,提取年份。
      • 使用dplyr和tidyr包进行数据清洗和整理,如去除缺失值、转换数据类型等。
    1. 创建可视化
      • 按年度统计优步(https://baike.baidu.com/item/Uber/14900884)皮卡的使用次数:使用dplyr包按年度分组,并计算每年的使用次数。然后使用ggplot2包绘制柱状图或折线图,展示不同年度的使用次数变化。
      • 按年度和月份统计优步皮卡的使用次数:在按年度分组的基础上,进一步按月份分组,计算每个月的使用次数。使用ggplot2包绘制带有月份信息的柱状图或折线图,展示不同年度和月份的使用次数变化。
      • 按年度和时间段(早晚高峰)统计优步皮卡的使用次数:根据时间信息划分早晚高峰时间段,然后结合年度信息统计不同时间段的使用次数。使用ggplot2包绘制堆叠柱状图或分组柱状图,展示不同年度和时间段的使用次数分布。
    1. 定制图表主题
      • 使用ggthemes包中的预设主题,如"经济学人"、"华尔街日报"等,提升图表的专业性和美观度。
      • 根据需要调整图表的配色方案、字体大小、标题等元素,确保图表清晰易读。
    1. 添加交互元素
      • 使用DT包在RStudio的Viewer中展示数据表,允许用户通过交互方式筛选和查看数据。
      • 考虑在可视化中添加交互元素,如鼠标悬停显示详细信息、点击切换视图等,提升用户体验。
    1. 导出可视化结果
      • 将创建的可视化结果导出为图片或PDF格式,方便在报告或演示中使用。
      • 确保导出的图片质量清晰,包含所有必要的图例、标题和注释信息。

五、交付成果

根据您的需求,以下是一个完整的 R 语言分析方案,用于分析纽约市优步皮卡的使用情况,包括数据导入、清洗、可视化以及导出结果。脚本中包括了所需的 R 包和具体操作步骤。

一、安装和加载所需的 R 包

在开始之前,确保已经安装并加载所需的 R 包:

r 复制代码
# 安装并加载所需的包
install.packages(c("ggplot2", "ggthemes", "lubridate", "dplyr", "tidyr", "DT", "scales"))
library(ggplot2)
library(ggthemes)
library(lubridate)
library(dplyr)
library(tidyr)
library(DT)
library(scales)

二、数据导入和预处理

  1. 导入数据: 使用 read.csv()read_excel() 导入数据。假设数据文件为 uber_data.csv,包含日期、时间、起始地点、结束地点、行程距离、费用等信息。
r 复制代码
# 导入数据
uber_data <- read.csv("uber_data.csv", stringsAsFactors = FALSE)

# 查看数据结构
str(uber_data)
  1. 数据清洗:
    • 去除重复和无效数据。
    • 转换日期和时间格式为 R 可识别的格式。
    • 提取年份信息。
r 复制代码
# 去除重复行
uber_data <- uber_data %>%
  distinct()

# 转换日期和时间格式(假设日期列为 "pickup_datetime")
uber_data$pickup_datetime <- mdy_hms(uber_data$pickup_datetime)

# 提取年份、月份和小时信息
uber_data$year <- year(uber_data$pickup_datetime)
uber_data$month <- month(uber_data$pickup_datetime)
uber_data$hour <- hour(uber_data$pickup_datetime)

# 过滤掉无效数据(如距离为0或费用为负的记录)
uber_data <- uber_data %>%
  filter(distance > 0 & fare >= 0)

# 查看数据清洗后的部分结果
head(uber_data)

三、创建可视化

1. 按年度统计优步皮卡的使用次数
r 复制代码
# 按年度统计使用次数
annual_usage <- uber_data %>%
  group_by(year) %>%
  summarise(usage_count = n())

# 创建柱状图
ggplot(annual_usage, aes(x = factor(year), y = usage_count)) +
  geom_bar(stat = "identity", fill = "skyblue") +
  labs(title = "纽约市优步皮卡使用次数 (按年度)",
       x = "年度", y = "使用次数") +
  theme_minimal() +
  theme(legend.position = "none")
2. 按年度和月份统计优步皮卡的使用次数
r 复制代码
# 按年度和月份统计使用次数
monthly_usage <- uber_data %>%
  group_by(year, month) %>%
  summarise(usage_count = n())

# 创建按年度和月份统计的折线图
ggplot(monthly_usage, aes(x = factor(month), y = usage_count, group = year, color = factor(year))) +
  geom_line() +
  geom_point() +
  labs(title = "纽约市优步皮卡使用次数 (按年度和月份)",
       x = "月份", y = "使用次数") +
  scale_x_discrete(labels = month.abb) + # 使用月份简写
  theme_minimal() +
  theme(legend.title = element_blank())
3. 按年度和时间段(早晚高峰)统计优步皮卡的使用次数

假设早高峰时间段为 6:00-9:00,晚高峰为 16:00-19:00。

r 复制代码
# 定义时间段
uber_data$time_period <- case_when(
  uber_data$hour >= 6 & uber_data$hour < 9 ~ "Morning Peak",
  uber_data$hour >= 16 & uber_data$hour < 19 ~ "Evening Peak",
  TRUE ~ "Other"
)

# 按年度和时间段统计使用次数
time_period_usage <- uber_data %>%
  group_by(year, time_period) %>%
  summarise(usage_count = n())

# 创建堆叠柱状图
ggplot(time_period_usage, aes(x = factor(year), y = usage_count, fill = time_period)) +
  geom_bar(stat = "identity") +
  labs(title = "纽约市优步皮卡使用次数 (按年度和时间段)",
       x = "年度", y = "使用次数") +
  scale_fill_manual(values = c("Morning Peak" = "yellow", "Evening Peak" = "red", "Other" = "lightgray")) +
  theme_minimal()

四、定制图表主题

使用 ggthemes 包中的预设主题定制图表外观:

r 复制代码
# 使用"华尔街日报"主题定制图表
ggplot(annual_usage, aes(x = factor(year), y = usage_count)) +
  geom_bar(stat = "identity", fill = "skyblue") +
  labs(title = "纽约市优步皮卡使用次数 (按年度)", x = "年度", y = "使用次数") +
  theme_wsj() # 使用华尔街日报主题

五、展示交互式数据表

使用 DT 包展示数据表,允许用户通过交互方式筛选和查看数据:

r 复制代码
# 使用DT展示数据表
datatable(uber_data, options = list(pageLength = 10, autoWidth = TRUE))

六、导出可视化结果

将图表导出为图片或 PDF 格式:

r 复制代码
# 导出为PNG图片
ggsave("uber_usage_by_year.png", width = 10, height = 6, dpi = 300)

# 导出为PDF
ggsave("uber_usage_by_year.pdf", width = 10, height = 6)

七、R脚本总结

最终的 R 脚本将包含从数据导入、清洗、按年度、按月份、按时间段分析到生成可视化图表的完整流程。您可以根据需要将这些代码块整合到一个 R 脚本中,执行后即可获得完整的分析结果。

八、交付成果

  1. R脚本:包含数据导入、清洗、可视化和导出的完整 R 脚本。
  2. 可视化结果:不同年度时间范围的优步皮卡使用次数可视化图片或 PDF 文件。
  3. 数据表:使用 DT 包展示的交互数据表(可选)。

这个方案提供了完整的分析和可视化步骤,可以帮助你深入分析优步皮卡在纽约市的使用情况,揭示出其年度、月份和时间段的变化趋势。

相关推荐
Tiger Z2 天前
R 语言科研绘图第 6 期 --- 散点图-基础
r语言·贴图
LvManBa2 天前
R 常用的内置软件包及功能介绍
开发语言·r语言·rstudio
新知图书2 天前
R语言的数据结构-数据框
开发语言·r语言
新知图书3 天前
R语言的字符串操作
开发语言·r语言
新知图书4 天前
R语言函数简介
开发语言·python·r语言
还没想好1234 天前
mlr3机器学习AUC的置信区间提取
人工智能·机器学习·r语言·学习笔记
拓端研究室TRL5 天前
R语言混合模型回归GBTM群组轨迹模型绘图可视化研究
开发语言·人工智能·数据挖掘·回归·r语言
_刘文凯_6 天前
R环境配置 以及Debug方法 (VSCode, conda, 远程R)
vscode·r语言·conda
新知图书7 天前
R语言的数据结构-数组
开发语言·数据结构·r语言
赵钰老师9 天前
【ArcGIS】基于R语言、MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作
开发语言·arcgis·数据分析·r语言