R语言使用“纽约市数据集中的优步皮卡”数据创建不同年度时间范围的可视化
一、项目背景
为了分析纽约市优步(https://baike.baidu.com/item/Uber/14900884)皮卡在不同年度的使用情况,需要利用R语言进行数据可视化。通过对比不同年度的数据,可以揭示出优步皮卡使用的趋势和变化。
二、数据准备
-
- 数据集:纽约市数据集中的优步(https://baike.baidu.com/item/Uber/14900884)皮卡数据,包含日期、时间、起始地点、结束地点、行程距离、费用等信息。
-
- 数据清洗:
• 去除重复和无效数据。
• 转换日期和时间格式为R可识别的格式。
• 提取年份信息,用于后续按年度分组。
三、所需R库和包
• ggplot2:用于数据可视化。
• ggthemes:用于定制图表主题。
• lubridate:用于日期和时间的处理。
• dplyr:用于数据清洗和转换。
• tidyr:用于数据整理。
• DT:用于在RStudio的Viewer中展示数据表。
• scales:用于坐标轴的刻度设置。
四、可视化需求
-
- 导入数据
使用read.csv()或read_excel()等函数导入数据,确保数据格式正确。
- 导入数据
-
- 数据预处理
• 利用lubridate包处理日期和时间数据,提取年份。
• 使用dplyr和tidyr包进行数据清洗和整理,如去除缺失值、转换数据类型等。
- 数据预处理
-
- 创建可视化
• 按年度统计优步(https://baike.baidu.com/item/Uber/14900884)皮卡的使用次数:使用dplyr包按年度分组,并计算每年的使用次数。然后使用ggplot2包绘制柱状图或折线图,展示不同年度的使用次数变化。
• 按年度和月份统计优步皮卡的使用次数:在按年度分组的基础上,进一步按月份分组,计算每个月的使用次数。使用ggplot2包绘制带有月份信息的柱状图或折线图,展示不同年度和月份的使用次数变化。
• 按年度和时间段(早晚高峰)统计优步皮卡的使用次数:根据时间信息划分早晚高峰时间段,然后结合年度信息统计不同时间段的使用次数。使用ggplot2包绘制堆叠柱状图或分组柱状图,展示不同年度和时间段的使用次数分布。
- 创建可视化
-
- 定制图表主题
• 使用ggthemes包中的预设主题,如“经济学人”、“华尔街日报”等,提升图表的专业性和美观度。
• 根据需要调整图表的配色方案、字体大小、标题等元素,确保图表清晰易读。
- 定制图表主题
-
- 添加交互元素
• 使用DT包在RStudio的Viewer中展示数据表,允许用户通过交互方式筛选和查看数据。
• 考虑在可视化中添加交互元素,如鼠标悬停显示详细信息、点击切换视图等,提升用户体验。
- 添加交互元素
-
- 导出可视化结果
• 将创建的可视化结果导出为图片或PDF格式,方便在报告或演示中使用。
• 确保导出的图片质量清晰,包含所有必要的图例、标题和注释信息。
- 导出可视化结果
五、交付成果
-
- R脚本:包含数据导入、预处理、可视化和导出的完整R脚本。
-
- 可视化结果:不同年度时间范围的优步(https://baike.baidu.com/item/Uber/14900884)皮卡使用次数可视化图片或PDF文件。
-
- 数据表:使用DT包展示的交互数据表(可选)。
通过以上步骤,可以创建一个详细且专业的R语言私活项目,满足对纽约市数据集中的优步(https://baike.baidu.com/item/Uber/14900884)皮卡数据进行不同年度时间范围的可视化需求。
- 数据表:使用DT包展示的交互数据表(可选)。
根据您的需求,以下是一个完整的 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)
二、数据导入和预处理
- 导入数据: 使用
read.csv()或read_excel()导入数据。假设数据文件为uber_data.csv,包含日期、时间、起始地点、结束地点、行程距离、费用等信息。
# 导入数据
uber_data <- read.csv("uber_data.csv", stringsAsFactors = FALSE)# 查看数据结构
str(uber_data)
- 数据清洗:
- 去除重复和无效数据。
- 转换日期和时间格式为 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 脚本中,执行后即可获得完整的分析结果。
八、交付成果
- R脚本:包含数据导入、清洗、可视化和导出的完整 R 脚本。
- 可视化结果:不同年度时间范围的优步皮卡使用次数可视化图片或 PDF 文件。
- 数据表:使用 DT 包展示的交互数据表(可选)。
这个方案提供了完整的分析和可视化步骤,可以帮助你深入分析优步皮卡在纽约市的使用情况,揭示出其年度、月份和时间段的变化趋势。
相关文章:
R语言使用“纽约市数据集中的优步皮卡”数据创建不同年度时间范围的可视化
一、项目背景 为了分析纽约市优步(https://baike.baidu.com/item/Uber/14900884)皮卡在不同年度的使用情况,需要利用R语言进行数据可视化。通过对比不同年度的数据,可以揭示出优步皮卡使用的趋势和变化。 二、数据准备 数据集&a…...
电阻计RM3544、RM3545的使用
目录: 一、电阻计与PC通讯 1、硬件连接 2、RmLogger.exe的使用 二、RM3545测量35uΩ电阻 一、电阻计与PC通讯 1、硬件连接 可以设置USB或COM口(串口)连接PC,也可以设置为“打印”输出。 1)使用USB连接PC 2)使用串口连接PC …...
Unity 策略游戏地图上的网格是如何实现的
在Unity中实现策略游戏地图上的网格,主要涉及到地图数据的处理、地图的加载与渲染、以及玩家在地图上的移动与碰撞检测等关键步骤。以下是对这些步骤的详细解释: 一、地图数据的处理 收集地图数据:这包括地形高度、地形纹理、建筑物、树木等…...
《鸟哥的Linux私房菜基础篇》---4 Linux档案的压缩与打包
目录 一、常见的压缩包的扩展名 二、常见的压缩和解压指令 1、tar 2、tar gzip(.tar.gz) (或 .tgz) 3、tar bzip2(.tar.bz2) 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 同时添加允许跨域处理会怎么样? 3 推荐参考资料 1摘要 跨域问题报错信息: Referrer Policy:strict-origin-when-cross-origin跨域问题是在前后端分离的情况…...
Spring中Bean的作用域深入剖析与技术实践
前言 Spring框架作为Java企业级应用开发中的中流砥柱,提供了强大的依赖注入(DI)和面向切面编程(AOP)等功能。在Spring框架中,Bean的作用域(Scope)是一个非常重要的概念,…...
Python爬虫实战:抓取拼多多商品详情数据(基于pdd.item_get接口)
在当前的电商市场中,拼多多以其独特的拼团模式和优惠价格吸引了大量用户,成为继淘宝、京东之后的又一大电商平台。对于数据分析和市场研究者来说,获取拼多多的商品详情数据显得尤为重要。本文将介绍如何使用Python爬虫技术,通过调…...
工具类-列表请求工具 useList
useList 用于列表请求的基于 vue 3 的 hooks,接收请求函数、请求参数等数据,自动生成请求请求函数,分页信息等 本文有涉及到 http 请求工具和接口返回格式的内容: http 工具:一个基于 axios 封装的请求工具Response…...
Scala中的正则表达式01
规则类型具体规则示例说明单字符大多数字符匹配自身正则表达式 abc,文本 abca 匹配 a,b 匹配 b,c 匹配 c方括号 [ ][ ] 定义字符集,匹配其一[abc],文本 a、b 或 c[abc] 匹配 a、b 或者 c排除字符集 [^ ][^ ] 开头加 ^&…...
基于SpringBoot的养老院管理系统的设计与实现
一、前言 随着人口老龄化的加剧,养老院作为老年人养老的重要场所,其管理的高效性和科学性显得尤为重要。传统的养老院管理方式多依赖人工操作,存在信息记录不及时、不准确,管理流程繁琐,资源调配困难等问题。利用信息技…...
Ansible变量详解(变量定义+变量优先级+变量注册+层级定义变量+facts缓存变量)
本篇文章详细给大家介绍Ansible变量,变量适合管理剧本中每个项目的动态值,或是某些值在多个地方重复使用,如果将此值设置为变量再在其他地方调用会方便许多。会用变量,才算真正会用Ansible,话不多说,直接开…...
面向对象系统的分析和设计
来源:《设计模式精解-GOF23种设计模式解析》 作者:k_eckel k_eckels mindview - 博客园 (cnblogs.com) --------- 面向对象系统的分析和设计实际上追求的就是两点: (1)高内聚 (2)低耦合 …...
Vue 提供了Transition,可以帮助你制作基于状态变化的过渡和动画
官方文档:https://cn.vuejs.org/guide/built-ins/transition.html Transition Vue 提供了两个内置组件,可以帮助你制作基于状态变化的过渡和动画: <Transition> 会在一个元素或组件进入和离开 DOM 时应用动画。本章节会介绍如何使用…...
视频编辑技术:一键生成混剪视频的AI技术应用
随着视频内容的爆炸式增长,视频编辑技术也在不断进步。本文将探讨如何利用AI技术,实现一键生成混剪视频,并自动添加配音和字幕,以提高视频编辑的效率和质量。 AI技术在视频编辑中的应用 AI技术在视频编辑领域的应用越来越广泛&am…...
Android11 MTK 开机默认启动热点
1、需求:开机后不锁屏,默认打开热点,且长时间没有设备连接热点时保证热点也是打开的。 2、开机后不锁屏: 路径:vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml<bool name&q…...
Vue Web开发(二)
1. 项目搭建 1.1. 首页架子搭建 使用Element ui中的Container布局容器,选择倒数第二个样式,将代码复制到Home.vue。 1.1.1.下载less (1)下载less样式 npm i less (2)下载less编辑解析器 npm i less…...
Linux-实用操作
文章目录 一. 各类实用小技巧(快捷键)1. ctrl c 强制停止2. ctrl d 退出登出3. history 查看历史命令4. !命令前缀,自动匹配上一个命令5. ctrl r,搜索历史命令6. ctrl a | e,光标移动到命令开始或结束7. ctrl ← | →,左右跳…...
Elasticsearch:使用 Elastic APM 监控 Android 应用程序
一、前言 人们通过私人和专业的移动应用程序在智能手机上处理越来越多的事情。 拥有成千上万甚至数百万的用户,确保出色的性能和可靠性是移动应用程序和相关后端服务的提供商和运营商面临的主要挑战。 了解移动应用程序的行为、崩溃的发生和类型、响应时间慢的根本…...
Go的简单问题问答
基础问题回答 Go 的主要特点是什么? 简洁:语法简化,减少复杂性。并发:内置 Goroutine 和 Channel,支持轻量级并发。静态类型:强类型语言,编译时检查错误。跨平台:编译生成独立的二进…...
【攻防实验】溯源与取证分析实验
溯源与取证分析实验 溯源取证分析作为网络攻防过程中重要环节,准确找到攻击者的入侵线索(尤其是攻击突破口、攻击IP地址、域名、工具等信息),对于企业或者团队安全运营团队来说都是必备技能。常规攻击取证过程中往往会结合流量、Web访问日志、终端系统或…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
