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 包展示的交互数据表(可选)。

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

相关推荐
zhangfeng11335 小时前
亲测可用,R语言 ggplot2 箱线图线条控制参数详解,箱线图离散数值控制
开发语言·python·r语言·生物信息
zhangfeng113317 小时前
R 导出 PDF 时中文不显示 不依赖 showtext** 的最简方案(用 extrafont 把系统 TTF 真正灌进 PDF 内核)
开发语言·r语言·pdf·生物信息
生物小卡拉17 小时前
R脚本--PCA分析系列1_v1.0
开发语言·r语言
生物小卡拉17 小时前
R脚本——LefSE分析与可视化-v1
开发语言·r语言
猫头虎2 天前
如何解决 pip install -r requirements.txt 本地轮子路径 ‘./packages/xxx.whl’ 不存在 问题
开发语言·网络·python·r语言·pip·gpu算力·国产
zhangfeng11333 天前
R语言 表达矩阵 count_table 筛选出 行名是 某个 基因的 数据或者某个列中的数据是某个基因的数据
矩阵·r语言·生物信息
zhangfeng11334 天前
geo Counts 数据 ,机器学习 模型的外部验证 ROC外部验证数据处理流程
人工智能·机器学习·r语言·生物信息
zhangfeng11334 天前
生物信息 R语言和 cytoscape 相互沟通的组件RCy3,构建cytoscape网络表 节点类型表 链接边的表,并推送到cytoscape
数据库·r语言·生物信息
zhangfeng11334 天前
R语言 安装老一点的班装包 核心是从CRAN归档(Archive)下载对应版本的安装包
开发语言·r语言
数模加油站5 天前
最新R(4.4.1)及R-studio保姆级安装配置详细教程及常见问题解答
开发语言·windows·数学建模·r语言