当前位置: 首页 > 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访问日志、终端系统或…...

《一文学会管理:提示工程架构师提示内容更新的核心技巧》

一文学会管理&#xff1a;提示工程架构师提示内容更新的核心技巧 摘要 当你花费数周打磨的AI提示上线后&#xff0c;是否遇到过这样的场景&#xff1a; 用户反馈“AI回答越来越不准确”&#xff1b;业务方要求“增加新的功能模块”&#xff1b;模型升级后&#xff0c;原来的提示…...

深入解析PyTorch中.pth文件的保存与加载机制

1. 揭开.pth文件的神秘面纱 第一次接触PyTorch时&#xff0c;看到那些以.pth结尾的文件&#xff0c;你是不是也和我当初一样充满疑惑&#xff1f;这些看似普通的文件&#xff0c;实际上是PyTorch模型持久化的关键。简单来说&#xff0c;.pth文件就像是给AI模型拍的一张"照…...

SeqGPT-560M部署教程:Linux服务器环境配置+GPU驱动适配完整指南

SeqGPT-560M部署教程&#xff1a;Linux服务器环境配置GPU驱动适配完整指南 1. 项目概述 SeqGPT-560M是一个专门为企业级信息抽取需求设计的高性能AI系统。与常见的聊天模型不同&#xff0c;这个系统专注于从非结构化文本中精准提取关键信息&#xff0c;比如人名、公司名称、时…...

标签噪声鲁棒训练:从理论到实践,构建深度学习模型的抗噪防线

1. 标签噪声&#xff1a;深度学习中的隐形杀手 第一次用MNIST数据集跑分类模型时&#xff0c;我发现哪怕故意把20%的标签打乱&#xff0c;模型在测试集上依然能达到85%以上的准确率。这个结果让我误以为深度神经网络对标签噪声天然具有免疫力——直到后来在医疗影像分类项目里…...

腾讯地图API实战:5分钟搞定经纬度录入与地图选点功能(Vue版)

腾讯地图API实战&#xff1a;5分钟搞定经纬度录入与地图选点功能&#xff08;Vue版&#xff09; 在当今的Web开发中&#xff0c;地图功能已成为许多应用的标配需求。无论是电商平台的店铺定位&#xff0c;还是社交应用的位置分享&#xff0c;甚至是企业内部系统的区域管理&…...

OpenClaw高消耗场景优化:Qwen3-32B私有镜像成本实测

OpenClaw高消耗场景优化&#xff1a;Qwen3-32B私有镜像成本实测 1. 问题背景与测试动机 最近在尝试用OpenClaw自动化处理我的日常工作流时&#xff0c;发现一个令人头疼的问题&#xff1a;长链条任务的Token消耗简直像开了水龙头一样。最夸张的一次&#xff0c;一个简单的&qu…...

Zotero插件市场:变革学术研究工具管理的创新解决方案

Zotero插件市场&#xff1a;变革学术研究工具管理的创新解决方案 【免费下载链接】zotero-addons Zotero add-on to list and install add-ons in Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 在数字化学术研究的进程中&#xff0c;文献管理工具…...

一键召唤AI画师!次元画室让角色设计变得如此简单

一键召唤AI画师&#xff01;次元画室让角色设计变得如此简单 你是否曾经有过这样的经历&#xff1f;脑海中浮现出一个绝妙的角色形象&#xff0c;却苦于无法将它完美呈现&#xff1b;或者为了设计游戏角色&#xff0c;不得不花费重金聘请专业画师&#xff1b;又或者作为小说作…...

AI辅助开发:打造你的智能编程技能教练——基于快马平台实践

最近在学编程时&#xff0c;发现一个痛点&#xff1a;遇到问题经常要反复查文档、搜论坛&#xff0c;效率很低。刚好体验了InsCode(快马)平台的AI辅助功能&#xff0c;用它做了个"智能编程教练"的小项目&#xff0c;效果意外地好。分享下具体实现思路和实际体验&…...

OFA模型处理网络拓扑图:自动化生成网络设备连接描述

OFA模型处理网络拓扑图&#xff1a;自动化生成网络设备连接描述 1. 引言&#xff1a;网络工程师的文档之痛 如果你是一名网络工程师&#xff0c;或者负责过网络运维&#xff0c;一定对下面这个场景不陌生&#xff1a;面对一张密密麻麻、设备林立的网络拓扑图&#xff0c;你需…...