当前位置: 首页 > news >正文

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

一、项目背景

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

二、数据准备

    1. 数据集:纽约市数据集中的优步(https://baike.baidu.com/item/Uber/14900884)皮卡数据,包含日期、时间、起始地点、结束地点、行程距离、费用等信息。
    1. 数据清洗:

• 去除重复和无效数据。
• 转换日期和时间格式为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格式,方便在报告或演示中使用。
      • 确保导出的图片质量清晰,包含所有必要的图例、标题和注释信息。

五、交付成果

    1. R脚本:包含数据导入、预处理、可视化和导出的完整R脚本。
    1. 可视化结果:不同年度时间范围的优步(https://baike.baidu.com/item/Uber/14900884)皮卡使用次数可视化图片或PDF文件。
    1. 数据表:使用DT包展示的交互数据表(可选)。
      通过以上步骤,可以创建一个详细且专业的R语言私活项目,满足对纽约市数据集中的优步(https://baike.baidu.com/item/Uber/14900884)皮卡数据进行不同年度时间范围的可视化需求。

根据您的需求,以下是一个完整的 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,包含日期、时间、起始地点、结束地点、行程距离、费用等信息。
# 导入数据
uber_data <- read.csv("uber_data.csv", stringsAsFactors = FALSE)# 查看数据结构
str(uber_data)
  1. 数据清洗:
    • 去除重复和无效数据。
    • 转换日期和时间格式为 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. 按年度统计优步皮卡的使用次数
# 按年度统计使用次数
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. 按年度和月份统计优步皮卡的使用次数
# 按年度和月份统计使用次数
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。

# 定义时间段
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 包中的预设主题定制图表外观:

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

五、展示交互式数据表

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

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

六、导出可视化结果

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

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

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

http://www.lryc.cn/news/499595.html

相关文章:

  • 电阻计RM3544、RM3545的使用
  • Unity 策略游戏地图上的网格是如何实现的
  • 《鸟哥的Linux私房菜基础篇》---4 Linux档案的压缩与打包
  • Springboot 2.7+解决跨域问题,到底是在SpringBoot中添加拦截器还是修改Nginx配置
  • Spring中Bean的作用域深入剖析与技术实践
  • Python爬虫实战:抓取拼多多商品详情数据(基于pdd.item_get接口)
  • 工具类-列表请求工具 useList
  • Scala中的正则表达式01
  • 基于SpringBoot的养老院管理系统的设计与实现
  • Ansible变量详解(变量定义+变量优先级+变量注册+层级定义变量+facts缓存变量)
  • 面向对象系统的分析和设计
  • Vue 提供了Transition,可以帮助你制作基于状态变化的过渡和动画
  • 视频编辑技术:一键生成混剪视频的AI技术应用
  • Android11 MTK 开机默认启动热点
  • Vue Web开发(二)
  • Linux-实用操作
  • Elasticsearch:使用 Elastic APM 监控 Android 应用程序
  • Go的简单问题问答
  • 【攻防实验】溯源与取证分析实验
  • THREE.js 入门(一)xyz坐标系
  • AUTOSAR CP中基于通信模块(COM)的Transformer-R24的规范导读
  • ubuntu20.04安装anygrasp_sdk
  • Spring完整知识点二
  • GESP三级集训——课堂笔记(部分)
  • Spring Boot接口返回统一格式
  • Flink如何基于数据版本使用最新离线数据
  • 软件开发中的常用性能指标
  • cmakelist使用总结
  • 准备阶段 Unity优化总纲
  • ubuntu防火墙(三)——firewalld使用与讲解