5.22R语言初步学习-2(使用包、绘图)

本文逻辑可能有些凌乱,是在数据处理的使用中学习R语言,所以用到的一些包、函数等都直接写在这了,主要就是处理数据的一个过程可能会用到的部分函数。

包的使用

R语言的使用,很大程度上是借助各种各样的R包的辅助,从某种程度上讲,R包就是针对于R的插件,不同的插件满足不同的需求。感觉和python里面的库和MATLAB的工具箱类似。

下载包:install.packages("package_name","dir")

加载包:library(package_name  )

查看包帮忙:

library(help="package_name")主要内容包括:例如:包名、作者、版本、更新时间、功能描述、开源协议、存储位置、主要的函数

help(package = "package_name")主要内容包括:包的内置所有函数,是更为详细的帮助文档

查看当前环境哪些包加载:find.package() 或者 .path.package()

移除包出内存:detach()

把其它包的数据加载到内存中:data(dsname, package="package_name")

查看这个包里的包有数据:data( package="package_name")

列出所有安装的包:library()

plyr

plyr 包是一个用于数据操作和数据分析的非常有用的工具包,它提供了一系列函数,可以简化数据操作和分析的过程。主要用途包数据的分割、应用和组合,通常被称为"split-apply-combine"模式。

主要应用:

  1. 数据的分割、应用和组合plyr 提供了 ddply()dlply() 等函数,可以按照指定的变量对数据进行分组,然后对每个分组应用函数,最后将结果合并

  2. 数据的摘要统计plyr 提供了 summarise() 函数,可以对数据进行摘要统计,比如计算均值、中位数、标准差等。

  3. 数据的变形plyr 提供了 mutate() 函数,可以对数据进行变形,比如添加新的变量、对现有变量进行转换等。

  4. 数据的排序和筛选plyr 提供了 arrange()filter() 函数,可以对数据进行排序和筛选。

  5. 数据的重复处理plyr 提供了 rbind.fill()rbind.fill.matrix() 函数,可以将多个数据框按行合并,并在合并时填充缺失值。

  6. 数据的多级分组分析plyr 提供了 group_by() 函数,可以按照多个变量对数据进行多级分组,然后进行分析。

  7. 更灵活的分析plyr 提供了一系列强大的函数,可以实现更复杂和灵活的数据分析,比如 join() 函数用于数据的连接操作,rename() 函数用于变量名的重命名等。

ddply(ide2,~IDE,function(data) summary(data$Time))
结果:IDE Min. 1st Qu. Median   Mean 3rd Qu. Max.
1 Eclipse  232  294.75  393.5 468.15  585.50  952
2 VStudio  155  246.50  287.0 302.10  335.25  632
  • ddply(ide2, ~IDE, function(data) summary(data$Time))
    • ide2 是你要操作的数据框。
    • ~IDE 表示按照 IDE 列进行分组。
    • function(data) summary(data$Time) 是对每个分组应用的函数,这里对每个分组的 Time 列进行了摘要统计。

结果解释

IDE: 显示了分组变量 IDE 的两个水平,即 EclipseVStudio

Min.: Time 列的最小值。

1st Qu.: Time 列的第一个四分位数。

Median: Time 列的中位数。

Mean: Time 列的均值。

3rd Qu.: Time 列的第三个四分位数。

Max.: Time 列的最大值。

 汇总操作、均值、标准差

summarise 指定你要对每个分组进行汇总操作。

Time.mean=mean(Time) 计算每个分组中 Time 列的均值,并命名为 Time.mean

Time.sd=sd(Time) 计算每个分组中 Time 列的标准差,并命名为 Time.sd

R语言包plyr的保姆级讲解,帮助你快速拆分应用汇总数据 - 知乎R语言是一种功能强大的数据分析和统计建模工具,拥有众多优秀的数据处理包。在数据科学领域中,数据预处理是数据分析的重要步骤之一。plyr旨在提供一组简洁而强大的工具,帮助用户进行数据的分割、转换、汇总和应…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/656843836

相信我,这是全网最详细的R包dplyr教程 - 知乎R语言包 dplyr之常用函数欢迎关注公众号:统计与数据挖掘 一、安装我的环境:win10 64位。R版本:4.0 以下所有操作均基于 jupyter lab+R语言。 install.packages("dplyr")二、加载包library("dplyr…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/358167377

car

car(Companion to Applied Regression)库提供了许多用于回归分析和统计模型诊断的工具。它特别有用的是包含了许多方差分析、回归诊断和图形化的功能。

如:

使用leveneTest进行方差齐性检验

leveneTest函数用于检验不同组别的方差是否相等(方差齐性)。这是方差分析(ANOVA)前需要满足的一个重要假设。

还有多重共线性检验、生成回归诊断图、Durbin-Watson 检验、Box-Cox 变换等

# 安装和加载必要的包
install.packages("car")
library(car)# 示例数据
ide2 <- readcsv("test.csv")# 拟合方差分析模型
m <- aov(Time ~ IDE, data = ide2)# 正态性检验
shapiro.test(ide2[ide2$IDE == "VStudio",]$Time)
shapiro.test(ide2[ide2$IDE == "Eclipse",]$Time)# 方差齐性检验
leveneTest(Time ~ IDE, data = ide2)# 查看方差分析的结果
summary(m)# 多重共线性检验
model <- lm(Time ~ IDE + Subject, data = ide2)
vif(model)# 生成回归诊断图
plot(model)# Durbin-Watson 检验
durbinWatsonTest(model)# Box-Cox 变换
boxCox(model)

数据可视化-绘图

plot(Time ~ IDE, data=ide2)

  • 箱体(Box):显示数据的四分位数,即从第一四分位数(Q1)到第三四分位数(Q3)。
  • 中位数(Median):箱体内的一条横线表示数据的中位数。
  • 须(Whiskers):表示数据范围,通常延伸到1.5倍的四分位距(IQR)。
  • 异常值(Outliers):箱体外的点表示异常值。

 通过箱线图,可以直观地比较两种 IDETime 变量上的分布情况。例如,可以看到两种 IDE中位数是否不同,数据的离散程度(通过箱体和须的长度)以及是否存在异常值等。

公式接口 plot(y ~ x, data) 根据数据类型自动选择适当的绘图类型。当 x 是一个因子变量(如分类变量)而 y 是一个数值变量时,plot 函数会自动生成一个箱线图(boxplot)。这是因为箱线图是一种适用于这种数据类型的可视化方法,能够清晰地显示不同分类变量(因子)的数值分布情况。

  • plot(): 用于绘制散点图、箱线图、线图等。
  • hist(): 用于绘制直方图。
  • boxplot(): 用于绘制箱线图。
  • barplot(): 用于绘制条形图。 
# 使用 R 基础系统绘制箱线图    main是标题
boxplot(Time ~ IDE, data=ide2, main="Boxplot of Time by IDE", xlab="IDE", ylab="Time")

绘制直方图: 

hist(ide2[ide2$IDE == "VStudio",]$Time)

绘制Q-Q 图

为了评估方差分析模型(ANOVA)假设的正态性,使用qqnorm和qqline绘制 Q-Q 图。 Q-Q 图(Quantile-Quantile Plot)是一种图形方法,用于比较数据的分布与正态分布。如果数据点大致沿着一条直线分布,则数据可以被认为是正态分布的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 之程序截图常见的几种方式

pywin32 PyQt5 需要先 pip 安装 pywin32、PyQt5 &#xff0c;相关依赖 pip 会自动安装。 pip install pywin32 pip install PyQt5 下面这种方式比较强悍&#xff0c;可以根据活跃窗口的 title 名称&#xff0c;自动找到对应的窗口然后进行截图。 import sysimport win32gu…

关于智慧校园安全用电监测系统的设计

人生人身安全是大家关注的话题&#xff0c;2019年12月中国消防统计近五年发生在全国学生宿舍的火灾2314起&#xff08;中国消防2019.12.应急管理部消防救援局官方微博&#xff09;&#xff0c;违规电器是引发火灾的主因。如果在各寝室安装智能用电监测器实时监督线路参数&#…

MVSnet 代码详解(pytorch)

大致过一下MVSnet 论文中核心的点对应代码应该怎么写。 forward 函数需要 照片&#xff0c;映射矩阵&#xff0c;以及深度值。 照片的shape是 &#xff08;1&#xff0c;5,3&#xff0c;1184,1600&#xff09;代表着1个batch,5张图片&#xff0c;然后一次是每张图片的channel和…

Android低代码开发 - MenuPanel的源码剖析和基本使用

看了我上篇文章Android低代码开发 - 像启蒙和乐高玩具一样的MenuPanel 之后&#xff0c;本篇开始讲解代码。 源代码剖析 首先从MenuPanelItemRoot讲起。 package dora.widget.panelinterface MenuPanelItemRoot {/*** 菜单的标题。** return*/var title: String?fun hasTit…

大象资讯:PostgreSQL 17 Beta 1 发布!

↑ 关注“少安事务所”公众号&#xff0c;欢迎⭐收藏&#xff0c;不错过精彩内容~ PostgreSQL 全球开发小组 发布于 2024-05-23 PostgreSQL 全球开发小组宣布&#xff0c;PostgreSQL 17 的第一个测试版本现已可供下载。此版本包含 PostgreSQL 17 正式发布时将提供的所有功能的预…

IEN在Web3.0中的性能与安全优势

随着Web3.0的快速发展&#xff0c;优化网络基础设施变得至关重要。智能生态网络&#xff08;Intelligent Ecological Network, IEN&#xff09;作为新一代网络架构&#xff0c;在提升性能与增强安全方面展现出巨大潜力。本文将深入探讨IEN在Web3.0中的技术优势&#xff0c;并展…

高效利用键盘上的 caps lock(大写键)实现中英切换

先看效果 在中文输入环境中&#xff0c;Caps Lock 键经常被忽视&#xff0c;占据了键盘上的黄金位置却很少派上用场。接下来&#xff0c;我将介绍如何将这个闲置的键合理利用&#xff0c;让它变得更加实用。 第一步 设置&#xff1a; 我以五笔为例&#xff1a; 1.输入法默认…

docker如何拉取redis最新镜像并运行

要拉取Docker Hub上最新版本的Redis镜像&#xff0c;您可以使用以下命令&#xff1a; docker pull redis:latest 这里的latest标签会自动获取Redis镜像的最新版本。如果您希望指定一个确切的版本号&#xff0c;可以直接使用该版本号替换latest。例如&#xff0c;要拉取Redis版…

高铁VR虚拟全景展示提升企业实力和形象

步入VR的神奇世界&#xff0c;感受前所未有的汽车展示体验。VR虚拟现实技术以其独特的沉浸式模拟&#xff0c;让你仿佛置身于真实展厅之中&#xff0c;尽情探索汽车的每一处细节。 一、定制化展示&#xff0c;随心所欲 VR汽车虚拟展厅打破空间束缚&#xff0c;让汽车制造商能够…

力扣1809 没有广告的剧集(postgresql)

需求 Table: Playback ----------------- | Column Name | Type | ----------------- | session_id | int | | customer_id | int | | start_time | int | | end_time | int | ----------------- 该表主键为&#xff1a;session_id &#xff08;剧集id&#xff09; customer_…

VUE3.0-列表渲染

我们可以使用 v-for 指令基于一个数组来渲染一个列表。v-for 指令的值需要使用 item in items 形式的特殊语法&#xff0c; 其中 items 是源数据的数组&#xff0c;而 item 是迭代项的别名 <template><h3>列表渲染</h3> <p v-for"item in names&quo…

调试时JSON库一直提示 PDB找不到 使用需要对象文件来进行调试的 /DEBUG:Fastlink生成的

最近调试时一直提示上面的提示框&#xff0c;很是烦躁。 为什么会出现这个错误呢&#xff0c;我一直使用的是/DEBUG。出现原因没有找出来&#xff0c;理论上市使用了/DEBUG:Fastlink这个模式才会出&#xff0c;但是就是一直在报这个错误。 /DEBUG&#xff08;生成调试信息&am…

同旺科技 FLUKE ADPT 隔离版发布 ---- 3

所需设备&#xff1a; 1、FLUKE ADPT 隔离版 内附链接&#xff1b; 应用于&#xff1a;福禄克Fluke 12E / 15BMax / 17B Max / 101 / 106 / 107 应用于&#xff1a;福禄克Fluke 15B / 17B / 18B 总体连接&#xff1a; 连接线&#xff0c;根据自己实际需求而定&#xff1b; …

Flutter 中的 SnackBarAction 小部件:全面指南

Flutter 中的 SnackBarAction 小部件&#xff1a;全面指南 在 Flutter 中&#xff0c;SnackBar 是一种流行的用于提供轻量级反馈的方式&#xff0c;它可以在屏幕上短暂显示消息。SnackBarAction 则是与 SnackBar 结合使用的一种按钮组件&#xff0c;允许用户对显示的消息做出响…

数据结构--顺序表

1.顺序表的概念 1.1线性表 具有相同特性的数据元素的有限序列&#xff0c;再逻辑结构上呈现线性&#xff0c;但是在物理结构上不一定是线性&#xff08;也就是在内存中非线性&#xff09; 顺序表是线性表中的一种&#xff0c;他的底层逻辑就是数组&#xff0c;就是对数组的一…

flink程序本地运行:No ExecutorFactory found to execute the application

1.问题描述 在idea中运行flink job程序出现如下错误&#xff1a; Exception in thread "main" java.lang.IllegalStateException: No ExecutorFactory found to execute the application. at org.apache.flink.core.execution.DefaultExecutorServiceLoader.getE…

7文法分析 软设刷题 软考 +

文法分析 刷题1-55-1010-1515-2020-2525-3030-3535-4040-45 知识点1-55-1010-1515-2020-2525-3030-35 刷题 1-5 1 沟通渠道公式如下&#xff1a;Mn*&#xff08;n-1&#xff09;/ 2。M表示沟通渠道数&#xff0c;n表示项目中的成员数 2 本题给出的NFA&#xff0c;能够识别字…

基于STM32控制的双轮自平衡小车的设计

基于STM32控制的双轮自平衡小车的设计是一项涉及电子、控制理论、机械设计和编程的综合工程。以下是关于该设计的一个概述&#xff0c;包括关键组件、控制策略和示例代码。 设计概述 1. 项目背景 自平衡小车作为一种智能控制系统&#xff0c;其设计和实现涉及到多个学科领域…

c++20 std::jthread 源码简单赏析与应用

std::jthread 说明&#xff1a; std::jthread 是 C20 中引入的一个新特性&#xff0c;它是线程库中的一个类&#xff0c;专门用于处理 std::thread 与 std::stop_token 和 std::stop_source 之间的交互&#xff0c;以支持更优雅和安全的线程停止机制。 std::stop_source控制…

微软开发者大会:编程进入自然语言时代、“AI员工”闪亮登场

当地时间周二&#xff0c;美国科技公司微软召开年度Build开发者大会。在CEO纳德拉的带领下&#xff0c;微软各个产品团队再一次展现出惊人的执行力&#xff0c;在发布会上又拿出了接近50个新产品或功能更新。 整场发布会持续了接近两个小时&#xff0c;在这里挑选了一些投资者…