当前位置: 首页 > 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 包展示的交互数据表(可选)。

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

相关文章:

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

一、项目背景 为了分析纽约市优步&#xff08;https://baike.baidu.com/item/Uber/14900884&#xff09;皮卡在不同年度的使用情况&#xff0c;需要利用R语言进行数据可视化。通过对比不同年度的数据&#xff0c;可以揭示出优步皮卡使用的趋势和变化。 二、数据准备 数据集&a…...

电阻计RM3544、RM3545的使用

目录&#xff1a; 一、电阻计与PC通讯 1、硬件连接 2、RmLogger.exe的使用 二、RM3545测量35uΩ电阻 一、电阻计与PC通讯 1、硬件连接 可以设置USB或COM口(串口)连接PC&#xff0c;也可以设置为“打印”输出。 1&#xff09;使用USB连接PC 2&#xff09;使用串口连接PC …...

Unity 策略游戏地图上的网格是如何实现的

在Unity中实现策略游戏地图上的网格&#xff0c;主要涉及到地图数据的处理、地图的加载与渲染、以及玩家在地图上的移动与碰撞检测等关键步骤。以下是对这些步骤的详细解释&#xff1a; 一、地图数据的处理 收集地图数据&#xff1a;这包括地形高度、地形纹理、建筑物、树木等…...

《鸟哥的Linux私房菜基础篇》---4 Linux档案的压缩与打包

目录 一、常见的压缩包的扩展名 二、常见的压缩和解压指令 1、tar 2、tar gzip&#xff08;.tar.gz&#xff09; (或 .tgz) 3、tar bzip2&#xff08;.tar.bz2&#xff09; 4、zip 5、gzip 6、bzip2 7、xz 8、rar 9、7z 三、安装解压工具 一、常见的压缩包的扩展…...

Springboot 2.7+解决跨域问题,到底是在SpringBoot中添加拦截器还是修改Nginx配置

文章目录 1摘要2 核心代码2.1 SpringBoot 全局跨域拦截器2.2 Nginx 配置跨域处理2.3 Nginx 和 SpringBoot 同时添加允许跨域处理会怎么样&#xff1f; 3 推荐参考资料 1摘要 跨域问题报错信息: Referrer Policy:strict-origin-when-cross-origin跨域问题是在前后端分离的情况…...

Spring中Bean的作用域深入剖析与技术实践

前言 Spring框架作为Java企业级应用开发中的中流砥柱&#xff0c;提供了强大的依赖注入&#xff08;DI&#xff09;和面向切面编程&#xff08;AOP&#xff09;等功能。在Spring框架中&#xff0c;Bean的作用域&#xff08;Scope&#xff09;是一个非常重要的概念&#xff0c;…...

Python爬虫实战:抓取拼多多商品详情数据(基于pdd.item_get接口)

在当前的电商市场中&#xff0c;拼多多以其独特的拼团模式和优惠价格吸引了大量用户&#xff0c;成为继淘宝、京东之后的又一大电商平台。对于数据分析和市场研究者来说&#xff0c;获取拼多多的商品详情数据显得尤为重要。本文将介绍如何使用Python爬虫技术&#xff0c;通过调…...

工具类-列表请求工具 useList

useList 用于列表请求的基于 vue 3 的 hooks&#xff0c;接收请求函数、请求参数等数据&#xff0c;自动生成请求请求函数&#xff0c;分页信息等 本文有涉及到 http 请求工具和接口返回格式的内容&#xff1a; http 工具&#xff1a;一个基于 axios 封装的请求工具Response…...

Scala中的正则表达式01

规则类型具体规则示例说明单字符大多数字符匹配自身正则表达式 abc&#xff0c;文本 abca 匹配 a&#xff0c;b 匹配 b&#xff0c;c 匹配 c方括号 [ ][ ] 定义字符集&#xff0c;匹配其一[abc]&#xff0c;文本 a、b 或 c[abc] 匹配 a、b 或者 c排除字符集 [^ ][^ ] 开头加 ^&…...

基于SpringBoot的养老院管理系统的设计与实现

一、前言 随着人口老龄化的加剧&#xff0c;养老院作为老年人养老的重要场所&#xff0c;其管理的高效性和科学性显得尤为重要。传统的养老院管理方式多依赖人工操作&#xff0c;存在信息记录不及时、不准确&#xff0c;管理流程繁琐&#xff0c;资源调配困难等问题。利用信息技…...

Ansible变量详解(变量定义+变量优先级+变量注册+层级定义变量+facts缓存变量)

本篇文章详细给大家介绍Ansible变量&#xff0c;变量适合管理剧本中每个项目的动态值&#xff0c;或是某些值在多个地方重复使用&#xff0c;如果将此值设置为变量再在其他地方调用会方便许多。会用变量&#xff0c;才算真正会用Ansible&#xff0c;话不多说&#xff0c;直接开…...

面向对象系统的分析和设计

来源&#xff1a;《设计模式精解-GOF23种设计模式解析》 作者&#xff1a;k_eckel k_eckels mindview - 博客园 (cnblogs.com) --------- 面向对象系统的分析和设计实际上追求的就是两点&#xff1a; &#xff08;1&#xff09;高内聚 &#xff08;2&#xff09;低耦合 …...

Vue 提供了Transition,可以帮助你制作基于状态变化的过渡和动画

官方文档&#xff1a;https://cn.vuejs.org/guide/built-ins/transition.html Transition​ Vue 提供了两个内置组件&#xff0c;可以帮助你制作基于状态变化的过渡和动画&#xff1a; <Transition> 会在一个元素或组件进入和离开 DOM 时应用动画。本章节会介绍如何使用…...

视频编辑技术:一键生成混剪视频的AI技术应用

随着视频内容的爆炸式增长&#xff0c;视频编辑技术也在不断进步。本文将探讨如何利用AI技术&#xff0c;实现一键生成混剪视频&#xff0c;并自动添加配音和字幕&#xff0c;以提高视频编辑的效率和质量。 AI技术在视频编辑中的应用 AI技术在视频编辑领域的应用越来越广泛&am…...

Android11 MTK 开机默认启动热点

1、需求&#xff1a;开机后不锁屏&#xff0c;默认打开热点&#xff0c;且长时间没有设备连接热点时保证热点也是打开的。 2、开机后不锁屏&#xff1a; 路径&#xff1a;vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml<bool name&q…...

Vue Web开发(二)

1. 项目搭建 1.1. 首页架子搭建 使用Element ui中的Container布局容器&#xff0c;选择倒数第二个样式&#xff0c;将代码复制到Home.vue。 1.1.1.下载less &#xff08;1&#xff09;下载less样式 npm i less   &#xff08;2&#xff09;下载less编辑解析器 npm i less…...

Linux-实用操作

文章目录 一. 各类实用小技巧(快捷键)1. ctrl c 强制停止2. ctrl d 退出登出3. history 查看历史命令4. !命令前缀&#xff0c;自动匹配上一个命令5. ctrl r&#xff0c;搜索历史命令6. ctrl a | e&#xff0c;光标移动到命令开始或结束7. ctrl ← | →&#xff0c;左右跳…...

Elasticsearch:使用 Elastic APM 监控 Android 应用程序

一、前言 人们通过私人和专业的移动应用程序在智能手机上处理越来越多的事情。 拥有成千上万甚至数百万的用户&#xff0c;确保出色的性能和可靠性是移动应用程序和相关后端服务的提供商和运营商面临的主要挑战。 了解移动应用程序的行为、崩溃的发生和类型、响应时间慢的根本…...

Go的简单问题问答

基础问题回答 Go 的主要特点是什么&#xff1f; 简洁&#xff1a;语法简化&#xff0c;减少复杂性。并发&#xff1a;内置 Goroutine 和 Channel&#xff0c;支持轻量级并发。静态类型&#xff1a;强类型语言&#xff0c;编译时检查错误。跨平台&#xff1a;编译生成独立的二进…...

【攻防实验】溯源与取证分析实验

溯源与取证分析实验 溯源取证分析作为网络攻防过程中重要环节&#xff0c;准确找到攻击者的入侵线索(尤其是攻击突破口、攻击IP地址、域名、工具等信息)&#xff0c;对于企业或者团队安全运营团队来说都是必备技能。常规攻击取证过程中往往会结合流量、Web访问日志、终端系统或…...

华硕笔记本终极性能调校指南:GHelper开源控制工具完全解析

华硕笔记本终极性能调校指南&#xff1a;GHelper开源控制工具完全解析 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目…...

SenseVoice语音识别在客服场景的应用:自动转写通话录音实战

SenseVoice语音识别在客服场景的应用&#xff1a;自动转写通话录音实战 1. 引言&#xff1a;客服录音转写的痛点与机遇 想象一下这样的场景&#xff1a;每天有成千上万的客服通话录音堆积在服务器上&#xff0c;里面包含了客户反馈、产品问题和市场洞察的宝贵信息。但现实是&…...

保姆级教程:用唯创知音WT588F02B语音芯片,从录音到烧录完整走一遍

零基础实战&#xff1a;WT588F02B语音芯片从录音到播放全流程解析 第一次接触语音芯片开发时&#xff0c;我被WT588F02B的易用性惊艳到了——不需要复杂的编程&#xff0c;只需准备好音频文件就能实现语音播放功能。但实际操作中&#xff0c;从录音到最终烧录成功&#xff0c;每…...

模拟面试回答第十三问:JVM内存模型

JVM简介 JVM是Java程序运行的基石&#xff0c;包括程序计数器&#xff0c;两种栈&#xff0c;堆和方法区五个区域。包含保存类元数据&#xff0c;保存方法字节码执行顺序&#xff0c;保存符号引用与直接地址的映射&#xff0c;为对象实例分配内存&#xff0c;为堆中内存分配对象…...

Clawdbot+Python爬虫实战:自动化数据采集与智能分析

ClawdbotPython爬虫实战&#xff1a;自动化数据采集与智能分析 1. 为什么数据采集需要Clawdbot这样的智能体 你有没有遇到过这样的场景&#xff1a;市场部同事凌晨三点发来消息&#xff0c;“老板急要竞品价格数据&#xff0c;明早九点前要出分析报告”。你打开浏览器&#x…...

MacBook上5分钟搞定Jmeter接口压测:从下载到脚本自动保存结果(附BeanShell代码)

MacBook高效接口压测指南&#xff1a;5分钟实现Jmeter自动化结果收集 每次遇到偶发性接口问题&#xff0c;手动点击上百次查看结果是不是让你抓狂&#xff1f;作为开发者&#xff0c;我们需要的不仅是工具&#xff0c;更是一套能自动完成脏活的解决方案。今天我们就来彻底解决…...

彩灯广告屏PLC控制S7-200程序:包含后发送产品梯形图、接线图原理图及IO分配与组态画面详解

彩灯广告屏的PLC控制S7-200程序 程序 我们主要的后发送的产品有&#xff0c;带解释的梯形图接线图原理图图纸&#xff0c;io分配&#xff0c;组态画面上周刚帮客户搞定了一套户外彩灯广告屏的PLC控制项目&#xff0c;用的还是经典的S7-200&#xff0c;本来以为老架构玩不出花…...

全面掌握ESP WiFi中继器DHCP服务器配置:高效管理嵌入式设备网络

全面掌握ESP WiFi中继器DHCP服务器配置&#xff1a;高效管理嵌入式设备网络 【免费下载链接】esp_wifi_repeater A full functional WiFi Repeater (correctly: a WiFi NAT Router) 项目地址: https://gitcode.com/gh_mirrors/es/esp_wifi_repeater ESP WiFi中继器是一款…...

步进电机复位翻车实录:从堵转到精准归位的5个调试技巧

步进电机复位翻车实录&#xff1a;从堵转到精准归位的5个调试技巧 去年夏天&#xff0c;我接手了一个工业自动化项目&#xff0c;需要精确控制12台42步进电机同步复位。本以为是个常规任务&#xff0c;结果第一周就遭遇了集体"罢工"——有的电机原地抖动不归零&#…...

深入解析串口通信:从RS232到RS485的工业应用实战

1. 串口通信的工业应用基础 第一次接触工业自动化项目时&#xff0c;我被现场密密麻麻的线缆搞得头晕眼花。直到老师傅指着角落里不起眼的两根双绞线说&#xff1a;"这条RS485总线控制着整条生产线的30台设备"&#xff0c;我才意识到串口通信在工业领域的强大之处。 …...