当前位置:首页 > R语句常用函数汇总
R-note
一、基本函数
1. 函数c()—向量,length()—长度,mode()—众数,rbind()—组合,cbind()—转置,mode()—属性
(数值、字符等)
2. 函数mean( )-中位数, sum( )-求和, min( )-最小值,
max( )-最大值, var( )-方差, sd( )-标准差, prod( ) –连乘
3. 函数help()--帮助
4. 正态分布函数rnorm( ) 、泊松分布函数rpois( ) 、指数分布函数rexp( ) 、Gamma分布
函数rgamma( ) 、均匀分布函数runif( ) 、二项分布函数rbinom( ) 、几何分布函数rgeom( )
(一) 基本函数
1.>2:60*2+1 [1]5 7 9 11……..。。。(共60个数)
2. a[5]:a数列第5个数,a[-5]:删除a数列第5位数 a[-(1:5)]: 删除a数列第1-5位数 a[c(2,4,7)]:a数列第2,4,7位数 a[a<20]:a数列小于20的数
a[a[3]]:先查找a数列第3位数对应数值,然后找第该位数对应数值
5. Seq()函数---序列数产生器
Seq(5,20):产生5,6。。。。20的数集
Seq(5,100,by=2):产生5开始,步长为2的数集,最大值为100 Seq(5,100,length=10):产生从5开始,从第三个数开始等于第二个数加上第二个数减去第一个数的差值,最后一个数为100.
5.00000 11.78571 18.57143 25.35714 32.14286 38.92857 45.71429 52.50000 59.28571 66.07143 72.85714 79.64286 86.42857 93.21429 100.00000
如:18.57143=11.78571+(11.78571-5.00000)
6. letters():产生字母序列
letters[1:30]:a,b,c,d…..30个字母
6.which()选择
which.max(a):a数列里面最大数
which(a==2):查找a数列中等于2的数,并返回该数所对应位置
a[which(a==2)]:先查找查找a数列中等于2的数,并返回该数所对应位置,然后对应的数值 举例:a<-c(1,3,5,7)
> which(a>5) [1] 4
> a[which(a>5)] [1] 7
7.rev()函数---反转
举例:> a=1:10
> rev(a)
[1] 10 9 8 7 6 5 4 3 2 1
8.sort()函数---升序排列
举例:> a=c(1,4,2,5,3,5,4,7,4)
> sort(a)
[1] 1 2 3 4 4 4 5 5 7
9.matrix()函数---将数据转变成按行列排布
举例:> a=1:20
> matrix(a,nrow=5,ncol=4) [,1] [,2] [,3] [,4]
[1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 13 18 [4,] 4 9 14 19 [5,] 5 10 15 20
10.函数t()----矩阵行列反置
举例:> matrix(a,nrow=5,ncol=4) [,1] [,2] [,3] [,4]
[1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 13 18 [4,] 4 9 14 19 [5,] 5 10 15 20 > t( matrix(a,nrow=5,ncol=4)) [,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5 [2,] 6 7 8 9 10 [3,] 11 12 13 14 15 [4,] 16 17 18 19 20
11. diag():矩阵对角元素向量或生成对角矩阵
举例:> a=matrix(1:16,nrow=4,ncol=4)
> a
[,1] [,2] [,3] [,4]
[1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16 > diag(a) [1] 1 6 11 16 > diag(diag(a)) [,1] [,2] [,3] [,4] [1,] 1 0 0 0 [2,] 0 6 0 0 [3,] 0 0 11 0 [4,] 0 0 0 16
12.统计分布
每一种分布有四个函数:d――density(密度函数),p――分布函数,q――分位数函数,r――随机数函数。比如,正态分布的这四个函数为dnorm,pnorm,qnorm,rnorm。下面我们列出各分布后缀,前面加前缀d、p、q或r就构成函数名:
norm:正态,t:t分布,f:F分布,chisq:卡方(包括非中心)
unif:均匀,exp:指数,weibull:威布尔,gamma:伽玛,beta:贝塔 lnorm:对数正态,logis:逻辑分布,cauchy:柯西,
binom:二项分布,geom:几何分布,hyper:超几何,nbinom:负二项,pois:泊松 signrank:符号秩,wilcox:秩和,tukey:学生化极差
13.solve():矩阵求逆或解线性方程 14. eigen():矩阵的特征值分解 15.data.frame():生成excel类似的数组
举例:> a=c(1,3,5,6,7)
> b=c(2,4,6,6,8) > x=data.frame(a,b) > x a b 1 1 2 2 3 4 3 5 6 4 6 6 5 7 8
> (x=data.frame('重量'=a,'运费'=b)) 重量 运费 1 1 2 2 3 4 3 5 6 4 6 6 5 7 8
16.画散点图 plot() (二)初级函数 1.txt文件读取:
举例:>(x=read.table(\百度云/abc.txt\ V1 V2 V3
1 1 2 3 2 4 5 6
2.读取excel文件
1)先将excel文件保存为prn文件
> y<-read.table(\百度云//a.prn\> y
age high weight 1 18 150 50 2 17 160 60
2)安装RODBC安装包,导入excle文件
举例:> local({pkg<-select.list(sort(.package(all.available=TRUE)),graphics=T$
+ if(nchar(pkg))library(pkg,character.on
Error: unexpected 'if' in:
\if\
> library(RODBC)
> z<-odbcConnectExcel(\百度云//a.xls\> (w<-sqlFetch(z,\ age high weight 1 18 150 50 2 17 160 60
3. 循环语句:for
举例:> for(i in 1:20){a[i]=i*2+3}
> a
[1] 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43
共分享92篇相关文档