R语句常用函数汇总.docx
- 文档编号:9874937
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:27
- 大小:265.01KB
R语句常用函数汇总.docx
《R语句常用函数汇总.docx》由会员分享,可在线阅读,更多相关《R语句常用函数汇总.docx(27页珍藏版)》请在冰豆网上搜索。
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]57911……..。
。
。
(共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.0000011.7857118.5714325.3571432.1428638.9285745.7142952.5000059.2857166.0714372.8571479.6428686.4285793.21429100.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]10987654321
8.sort()函数---升序排列
举例:
>a=c(1,4,2,5,3,5,4,7,4)
>sort(a)
[1]123444557
9.matrix()函数---将数据转变成按行列排布
举例:
>a=1:
20
>matrix(a,nrow=5,ncol=4)
[,1][,2][,3][,4]
[1,]161116
[2,]271217
[3,]381318
[4,]491419
[5,]5101520
10.函数t()----矩阵行列反置
举例:
>matrix(a,nrow=5,ncol=4)
[,1][,2][,3][,4]
[1,]161116
[2,]271217
[3,]381318
[4,]491419
[5,]5101520
>t(matrix(a,nrow=5,ncol=4))
[,1][,2][,3][,4][,5]
[1,]12345
[2,]678910
[3,]1112131415
[4,]1617181920
11.diag():
矩阵对角元素向量或生成对角矩阵
举例:
>a=matrix(1:
16,nrow=4,ncol=4)
>a
[,1][,2][,3][,4]
[1,]15913
[2,]261014
[3,]371115
[4,]481216
>diag(a)
[1]161116
>diag(diag(a))
[,1][,2][,3][,4]
[1,]1000
[2,]0600
[3,]00110
[4,]00016
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
ab
112
234
356
466
578
>(x=data.frame('重量'=a,'运费'=b))
重量运费
112
234
356
466
578
16.画散点图plot()
(二)初级函数
1.txt文件读取:
举例:
>(x=read.table("D:
//XX云/abc.txt"))
V1V2V3
1123
2456
2.读取excel文件
1)先将excel文件保存为prn文件
>y<-read.table("D:
//XX云//a.prn",header=T)
>y
agehighweight
11815050
21716060
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:
"local({pkg<-select.list(sort(.package(all.available=TRUE)),graphics=T$
if"
>library(RODBC)
>z<-odbcConnectExcel("D:
//XX云//a.xls")
>(w<-sqlFetch(z,"Sheet1"))
agehighweight
11815050
21716060
3.循环语句:
for
举例:
>for(iin1:
20){a[i]=i*2+3}
>a
[1]5791113151719212325272931333537394143
4.循环语句:
while
举例:
>a[1]=5
>i=1
>while(a[i]<121){i=i+1;a[i]=a[i-1]+2}
>a
[1]579111315171921232527293133353739
[19]414345474951535557596163656769717375
[37]777981838587899193959799101103105107109111
[55]113115117119121
5.source():
数据来源,可将txt编辑好的程序直接读取,并运行。
举例:
>source("D:
\\XX云\\a.txt")
[1]579111315171921232527293133353739
[19]414345474951535557596163656769717375
[37]777981838587899193959799101103105107109111
[55]113115117119121
6.综合举例
题目:
模拟产生统计专业同学的名单(学号区分),记录数学分析,线性代数,概率统计三科成绩,然后进行一些统计分析
结果:
>num=seq(1008001,1008100)
>num
[1]100800110080021008003100800410080051008006100800710080081008009
[10]100801010080111008012100801310080141008015100801610080171008018
[19]100801910080201008021100802210080231008024100802510080261008027
[28]100802810080291008030100803110080321008033100803410080351008036
[37]100803710080381008039100804010080411008042100804310080441008045
[46]100804610080471008048100804910080501008051100805210080531008054
[55]100805510080561008057100805810080591008060100806110080621008063
[64]100806410080651008066100806710080681008069100807010080711008072
[73]100807310080741008075100807610080771008078100807910080801008081
[82]100808210080831008084100808510080861008087100808810080891008090
[91]100809110080921008093100809410080951008096100809710080981008099
[100]1008100
>x1=round(runif(100,min=80,max=100))
>x1
[1]8397100909591939197878986949994978983
[19]8298988410087899799948893899089839395
[37]908194958294949682949091839697939881
[55]878094849480878483859681978793979882
[73]859089908889988881819685988796918698
[91]100898785909082808195
>
>x2=round(rnorm(100,mean=80,sd=7))
>x2
[1]737988889279779087839385808084876372787785818078
[25]797373908283808679748388908379836869718583868267
[49]847266917483737886778181898483829181806992858279
[73]886980718979827181678272877887848194758071867875
[97]75729575
>x3=round(rnorm(100,mean=83,sd=18))
>x3
[1]71648497567172729685938080110781185585
[19]9983921136591761206378727094101698410087
[37]10311477707354897866834611368948911580105
[55]671007389806411574819982909290731018896
[73]1018010064741218194725578886010370639672
[91]10493921107482801116492
>x3[which(x3>100)]=100
>x3
[1]71648497567172729685938080100781005585
[19]9983921006591761006378727094100698410087
[37]10010077707354897866834610068948910080100
[55]671007389806410074819982909290731008896
[73]1008010064741008194725578886010070639672
[91]10093921007482801006492
>x=data.frame(num,x1,x2,x3)–数据合并
>x
numx1x2x3
11008001837371
21008002977964
310080031008884
41008004908897
51008005959256
61008006917971
71008007937772
81008008919072
91008009978796
101008010878385
111008011899393
121008012868580
131008013948080
1410080149980100
151008015948478
1610080169787100
171008017896355
181008018837285
191008019827899
201008020987783
211008021988592
2210080228481100
2310080231008065
241008024877891
251008025897976
2610080269773100
271008027997363
281008028949078
291008029888272
301008030938370
311008031898094
3210080329086100
331008033897969
341008034837484
3510080359383100
361008036958887
3710080379090100
3810080388183100
391008039947977
401008040958370
411008041826873
421008042946954
431008043947189
441008044968578
451008045828366
461008046948683
471008047908246
4810080489167100
491008049838468
501008050967294
511008051976689
5210080529391100
531008053987480
5410080548183100
551008055877367
5610080568078100
571008057948673
581008058847789
591008059948180
601008060808164
6110080618789100
621008062848474
631008063838381
641008064858299
651008065969182
661008066818190
671008067978092
681008068876990
691008069939273
7010080709785100
711008071988288
721008072827996
7310080738588100
741008074906980
7510080758980100
761008076907164
771008077888974
7810080788979100
791008079988281
801008080887194
811008081818172
821008082816755
831008083968278
841008084857288
851008085988760
8610080868778100
871008087968770
881008088918463
891008089868196
901008090989472
91100809110075100
921008092898093
931008093877192
9410080948586100
951008095907874
961008096907582
971008097827580
9810080988072100
991008099819564
1001008100957592
>write.table(x,file="D:
\\XX云\\mark.txt",col.names=F,row.names=F,sep="")-保存数据
7.data.frame():
数据合并-合成
举例:
>x=data.frame(num,x1,x2,x3)
8.write.table():
将数据写入(保存)txt文档
举例:
write.table(x,file="D:
\\XX云\\mark.txt",col.names=F,row.names=F,sep="")
9.mean():
均值
举例:
10.colMeans():
列均值
举例:
>colMeans(x)
numx1x2x3
1008050.5090.1880.4282.91
>colMeans(x)[c("x1","x2","x3")]
x1x2x3
90.1880.4282.91
11.apply():
举例:
>apply(x,2,mean)
numx1x2x3
1008050.5090.1880.4282.91
>apply(x,2,max)
numx1x2x3
100810010095100
>apply(x,2,min)
numx1x2x3
1008001806346
>apply(x[c("x1","x2","x3")],1,sum)—求总分
[1]227240272275243241242253280255275251254279256284207240259258
[21]275265245256244270235262242246263276237241276270280264250248
[41]223217254259231263218258235262252284252264227258253250255225
[61]276242247266269252269246258282268257273239269225251268261253
[81]234203256245245265253238263264275262250271242247237252240262
>which.max(apply(x[c("x1","x2")],1,sum))---求总分最大的人是第几个
[1]46
>x$num[which.max(apply(x[c("x1","x2")],1,sum))]---求总分最大的人num
[1]1008046
第二讲
12.hist():
绘制直方图
接上例:
>hist(x$x1)
13.plot():
绘制散点图
接上例:
>plot(x1,x2)
>plot(x$x1,x$x2)
14.table():
列联函数
>table(x$x1)-----各数出现频数
808182838586878889
6646835
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语句 常用 函数 汇总