R语言——R函数、选项参数、数学统计函数(六)

目录

一、R函数

二、选项参数

三、数学统计函数

四、参考


一、R函数

1.lm()

lm()是R语言中经常用到的函数,用来拟合回归模型。它是拟合线性模型最基本的函数

lm()格式如下:

fit<-lm(formula,data)

其中,formula指要拟合的模型形式,data是一个数据框,包含了用于拟合模型的数据。结果对象(本例中是fit)存储在一个列表中,包含了所拟合模型的大量信息。表达式(formula)形式如下:

Y~X1+X2..Xn

举例,输入:

a<-c(1,2,3,4,5)
b<-c(2,4,6,8,10)
mydata<-data.frame(a,b)
fit<-lm(a~b,mydata)
summary(fit)

结果会显示:
在这里插入图片描述
所以a,b的关系可表示为:

a=0.000000000000001192+0.5*b

2.函数返回值及输入数据格式

        使用函数时要注意函数的返回值类型,比如有些函数返回值是列表,那就不能将其运用到使用向量的环境中。
        有些函数只能处理矩阵,有些函数既能处理矩阵也能处理数据框,使用函数时,需要知道每个函数的输入数据格式,否则就会出错。

输入数据类型

向量:sum,mean,sd,range,median,sort,order

矩阵或数据框:cbind,rbind

数字矩阵:heatmap

3.使用help(函数名)可以查看函数的帮助文档。

二、选项参数

一般的选项函数可以分为三部分:输入控制部分、输出控制部分以及调节部分

- 输入控制选项

常用选项:
file:接一个文件

data:一般指要输入一个数据框

x:表示单独的一个对象,一般都是向量,也可以是矩阵或者列表

x和y:函数需要两个输入变量

x,y,z:函数需要三个输入变量

formula:公式

na.rm:删除缺失值

- 输出控制选项:在R中,函数一般都是屏幕输出结果,每个函数的返回值也比较固定,所以输出控制选项并不多。

- 调节参数

调节参数

1.根据名字判断选项的作用

color:选项明显用来控制颜色

select:与选择有关

font:与字体有关

font.axis:就是坐标轴的字体

lty:是 line type

lwd:是 line width

method:软件算法

2.选项接受哪些参数

main:字符串,不能是向量

na.rm:TRUE 或者 FALSE

axis:side参数只能是1到4

fig:包含四个元素的向量

三、数学统计函数

1.概率统计函数
R概率分布:

d 概率密度函数
p 分布函数
q 分布函数的反函数
r 产生相同分布的随机数

正态分布函数:

dnorm(x,mean,sd,log)
pnorm(q,mean,sd,lower.tail,log.p)
qnorm(p,mean,sd,lower.tail,log.p)
rnorm(n,mean,sd)

与离散分布相关的函数:

与正态分布一样,在每种分布名称前面加上d、p、q、r就可以构成函数名。
如:

dgeom(x,prob,log=FALSE)
pgeom(q,prob,lower.tail=TRUE,log.p=FALSE)
qgeom(p,prob,lower.tail=TRUE,log.p=FALSE)
rgeom(n,prob)

runif(n):随机生成n个0到1之间的数。
runif(n,min=1,max=100):随机生成n个从1到100之间的随机数。

2.描述性统计函数
summary函数:

mycars <- mtcars[c("mpg","hp","wt","am")]
summary(mycars)

fivenum函数:与summary函数类似

fivenum(mycars$hp)

Hmisc包中的describe函数:

describe(mycars)

pastecs包中stat.desc函数:计算种类繁多的描述性统计量,参数x是一个数据框或时间序列

stat.desc(mycars)

psych包中describe函数:

describe(mycars)
describe(mycars,trim=0.1) #去掉10%的最低值最高值部分

很多情况下,我们需要对数据进行分组描述,这时候可以使用aggregate函数,aggregate函数能够对数据按照指定的分组信息进行统计,将分组信息通过一个列表指定出来:

library(MASS)
aggregate(Cars93[c("Min.Price","Price","Max.Price","MPG.city")],by=list(Manufacturer=Cars93$Manufacturer),mean)

aggregate函数的缺点是一次只能计算一个统计函数。
使用doBy包中的summaryBy函数:

summaryBy(mpg+hp+wt~am,data=mycars,FUN=mean)

使用psych包中的describeBy函数:

describeBy(mycars,list(am=mycars$am))

3.频数统计函数
(1)一维

mtcars$cyl <- as.factor(mtcars$cyl)
split(mtcars,mtcars$cyl)      #结果按照cyl分类
table(mtcars$cyl)     #频数统计
table(cut(mtcars$mpg,c(seq(10,50,10))))       #频数统计
prop.table(table(mtcars$cyl))      #频率值,即频数除以总数

(2)二维:返回列联表

library(vcd)
table(Arthritis$Treatment,Arthritis$Improved)      #统计两个量的频数,返回的结果是一个二维的列联表

或者

with(data = Arthritis,table(Treatment,Improved))

或者

xtabs(~Treatment+Improved,data = Arthritis)

(3)对列联表进行边际频数统计
边际频数统计:

x <- xtabs(~Treatment+Improved,data = Arthritis)
margin.table(x,1)      #按行进行边际频数统计
margin.table(x,2)      #按列进行边际频数统计

边际频率统计:

prop.table(x,1)      #按行进行边际频率统计
prop.table(x,2)      #按列进行边际频率统计

将边际频数的和添加到频数表中:

addmargins(x)
addmargins(x,1)
addmargins(x,2)

(4)三维

y <- xtabs(~Treatment+Improved+Sex,data = Arthritis)
ftable(y)    #将结果转换为一个评估式的列联表

四、参考

R语言入门与数据分析

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

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

相关文章

draw流程图工具导入云原生(CNCF)相关控件

目录 1、通过draw导入xml文件&#xff0c;获取云原生相关的空间 2、引用自己的资源链接&#xff1a; 1、通过draw导入xml文件&#xff0c;获取云原生相关的空间 导入资源图库&#xff0c;资源放在下方&#xff0c;大家可以下载&#xff1a; 2、引用自己的资源链接&#xff1a;…

Vue实现JSON字符串格式化编辑器组件

相信很多同学都用过网上的在线JSON格式化工具来将杂乱的JSON数据转换成易于我们阅读和编辑的格式。那么&#xff0c;你有没有想过自己动手实现一个这样的工具呢&#xff1f;今天&#xff0c;我将介绍如何使用Vue.js来构建一个简单的JSON格式化工具。 功能简述 支持格式化JSON字…

Linux使用yum命令安装postgrepsql

1.检查安装源 yum search postgresql 2.安装 yum install postgresql-server 3.启动数据库 service postgresql start 4.查看启动状态 service postgresql status 5.登陆测试 su - postgrep psql \l6.远程连接 6.1修改配置文件 在pg_hba.conf增加host all all 0.0.0…

解决Android AAPT: error: resource android:attr/lStar not found. 问题

错误信息 /xxx/gjc/.gradle/caches/transforms-2/files-2.1/930c42acd29d295ce5bc495c3b84423e/core-1.9.0/res/values/values.xml:104:5-113:25: AAPT: error: resource android:attr/lStar not found. not found 资源位置 场景 原Android studio中的项目都是在git上面拉的老项…

数据结构与算法python版本之线性结构之队列Quene

什么是队列&#xff1f; 队列是一种有次序的数据集合&#xff0c;其特征是&#xff1a;新数据项的添加总发生在一端&#xff08;通常称为“尾rear”端&#xff09;&#xff0c;而现存数据项的移除总发生在另一端&#xff08;通常称为“首front”端&#xff09;&#xff1b;当数…

详解静态网页数据获取以及浏览器数据和网络数据交互流程-Python

目录 前言 一、静态网页数据 二、网址通讯流程 1.DNS查询 2.建立连接 3.发送HTTP请求 4.服务器处理请求 5.服务器响应 6.渲染页面 7.页面交互 三、URL/POST/GET 1.URL 2.GET 形式 3.POST 形式 四.获取静态网页数据 1.requests库 点关注&#xff0c;防走丢&am…

粘接PI膜除了使用PI膜专用UV胶粘接,还可以使用热固化环氧胶来解决!

热固化环氧胶也是粘接聚酰亚胺&#xff08;PI&#xff09;膜的一种常见方法。 热固化环氧胶是一种在加热的条件下固化成坚固状态的胶水&#xff0c;在涂抹或涂覆胶水后&#xff0c;通过加热&#xff0c;胶水中的化学反应被触发&#xff0c;导致其硬化和固化&#xff0c;从而形…

C#语法进阶 Lambda

Lambda lambda:匿名方法 演变过程&#xff1a; 版本一&#xff1a; 首先创建一个委托&#xff1a; 创建委托需要调用的方法 调用 版本二&#xff1a;匿名方法 没有名字的方法&#xff0c;前面加一个delegate 这样写的话 可以访问局部变量 调用结果&#xff1a; 版本…

跑腿配送系统技术探析

概述 跑腿配送系统是一种基于现代科技的服务平台&#xff0c;通过智能化的技术手段&#xff0c;实现用户需求的快速响应和高效配送。本文将探讨该系统的核心技术原理&#xff0c;以及在实际开发中的一些代码示例。 技术原理 1. 用户请求与任务分配 跑腿配送系统的第一步是…

vue保姆级教程----深入了解 Vue Router的工作原理

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4…

【error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)】

用VS2013编译报错&#xff1a; 有人说既然是找不到PVOID64加个typedef就行了。经过本人的试验发现&#xff0c;的确是vs的include顺序问题&#xff0c;调整include顺序保证dx目录在IncludePath目录的下面即可解决问题。 在vs中&#xff0c;选择工具->选项->项目和解决方…

DoIP学习笔记系列:(八)车厂一般关于DoIP的相关测试分析

文章目录 1. 前言2. 基本项测试2.1 协议版本默认值2.2 车辆标识请求报文格式2.3 带EID的车辆标识请求报文格式2.4 带VIN的车辆标识请求报文格式2.5 否定响应码0x002.6 否定响应码0x012.7 否定响应码0x022.8 否定响应码0x042.9 路由激活应答码0x002.10 路由激活应答码0x012.11 路…

贝叶斯推断:细谈贝叶斯变分和贝叶斯网络

1. 贝叶斯推断 统计推断这件事大家并不陌生&#xff0c;如果有一些采样数据&#xff0c;我们就可以去建立模型&#xff0c;建立模型之后&#xff0c;我们通过对这个模型的分析会得到一些结论&#xff0c;不管我们得到的结论是什么样的结论&#xff0c;我们都可以称之为是某种推…

ElasticSearch 复合查询 Boolean Query

官网文档网址&#xff1a;Boolean query | Elasticsearch Guide [7.17] | Elastic 目录 复合查询 Boolean Query 利用bool查询实现功能 总结 复合查询 Boolean Query 布尔查询是一个或多个查询子句的组合。子查询的组合方式有&#xff1a; must:必须匹配每个子查询&#xf…

webpack 5 loader

webpack 本身不能识别js&#xff0c;json外的资源&#xff0c;所以我们需要借助其他loader来处理对应的文件 CSS Loader&#xff0c;处理css 安装 npm i css-loader style-loader -D css-loader 负责讲css编译成webpack能识别的模块内容style-loader 动态创建<style&g…

用CHAT写一简单的C语言线程池的示例

问CHAT&#xff1a;编写一个简单的C语言线程池的示例 CHAT回复&#xff1a;在C语言中&#xff0c;实现线程池需要手动创建线程和管理任务队列。以下是一个简单的C语言线程池的示例&#xff1a; c #include <pthread.h> #include <stdio.h> #define NUM_THREADS 5 …

【前沿技术】超级稳定的视频卡通画方案

Git clone项目到本地 git clone gitgithub.com:Artiprocher/DiffSynth-Studio.git 基本原理 使用了stable diffusion稳定扩散模型和controlnet来控制图像生成的轮廓&#xff0c;animatediff控制视频帧与帧之间的连续性&#xff0c;最后使用RIFE技术平滑整个生成后的视频。 …

一、HTML5简介

一、简介 超文本标记语言&#xff08;英语&#xff1a;HyperText Markup Language&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言。可以使用 HTML 来建立自己的 WEB 站点&#xff0c;HTML 运行在浏览器上&#xff0c;由浏览器来解析。 <!…

GoLang学习之路,对Elasticsearch的使用,一文足以(包括泛型使用思想)(一)

这几天没有更新&#xff0c;其主要的的原因是&#xff0c;在学习对Elasticsearch的使用。Elasticsearch是一个非常强大的数据库索引工具。是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎&#xff0c;具有HTTP Web接口和无模式JSON文档。Elastics…

【模拟电路】模拟集成电路之神-NE555

一、集成电路NE555简介 二、功能框图与引脚说明 三、比较器&#xff08;运放&#xff09; 四、反相门&#xff08;非门&#xff09; 五、或非门 六、双稳态触发器 七、NE555的工作原理 集成电路NE555的芯片手册 C5157696 一、集成电路NE555简介 NE555起源于上个世纪70年代&a…