《2022年R学习笔记.docx》由会员分享,可在线阅读,更多相关《2022年R学习笔记.docx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -R 学习笔记R 学 习笔记2022年 08 月 31 日google ;R语言是什么的问题,请自己这个是从书上写下的笔记,主要是基本操作部分;详细的引用取决于你的任务,大家可以参考薛毅的书;囧:发觉加不了图,大家要看图的可以去我的 iask 里下;举荐用 R studio (用 google 搜, baidu 搜的是个数据复原文件,再囧一下,付费的果真在前面;)练习,比较集成化(虽然我的老师剧烈反对IDE);就是 R studio必需先安装好 R才可以;R学习笔记 R 统计建模与 R软件 薛毅著 by fam
2、e 1、基本操作 1.1 导言 X1-c, 数组赋值操作 meanX1 求平均值 sdX1 求标准偏差 plotX1,X2 画 x-y 图 histX1 画柱状图rt- read.table“ exam0203.txt ” ,head=TRUE; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -第一行读入文件 exam0203.txt ,并 head=TRUE 认为文件中第一行是 文件头,否就文件第一行作文数
3、据处理;Source “ *.R ” 执行已经编写好的 R程序 load “ *.RData” 载入工作空间印象 save.image “ *.RData ” sortX 排序命令 varX 运算标准差medianX 中位数sumX 总的求和命令prodX 总的求积命令1.2 产生有序数列 1.2.1 等差数列 x:y 以 1 为公差的等差数列留意:等差运算高于乘法运算,所以 1.2.2 等间隔函数x-2*1:15=x-2*1:15 seqfrom=value1,to=value2,by=value3 注: by 是公差 1.2.3 重复函数 rep (x,time=* )补充: lines
4、(x)这是实线连接函数细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1.3 向量下标运算 答应 : x* 拜访xx ,5 做规律运算 例子: y=1-x,x=0; y-numericlengthx yx0-1-xx=0=0 1.2.4 属性 attributes attr 返回对象的各种特殊属性组成的列表 1.2.5 因子factorx = character, levels, labels = level
5、s, exclude = NA, ordered = is.orderedx gl ()gln, k, length = n*k, labels = 1:n, ordered = FALSE 便利地产生因子2、多维数组2.1 一维数组 dim 例子:z-1:12 dimz-c3,4 结果:z ,1 ,2 ,3 ,4 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -1, 1 4 7 10 2, 2 5 8 11
6、 3, 3 6 9 12 2.2 多维数组 array ()arraydata = NA, dim = lengthdata, dimnames = NULL data 是一个 向量 数据; dim 是数组各维的长度,默认为原 向量 长 度, dimnames是数组维名,默认为空 example: x-array1:20,dim=c4,5;x-array0,dim=c4,5,7,8,9 2.3 矩阵构造 matrixdata = NA, nrow = 1, ncol = 1, byrow = FALSE,dimnames = NULL data 是向量数据; nrow 是矩阵行数; ncol
7、是矩阵列数;当byrow=TRUE时生成矩阵的数据根据行放置;默认值 置; dimnames是数组维的名字,默认为空;byrow=FALSE,数据安列放A-matrix1:15,nrow=3,ncol=5,byrow=TRUE 2.4 数组运算 数组运算应尽量是 dim 相同;在 dim 不同时,一般把相应位置上的数据进行运算,把短的 向量 重 复使用,从而和长的 向量 进行匹配;2.5 矩阵运算 2.5.1 转置 tA 2.5.2 行列式 det 2.5.3 向量 内积细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 14 页 - - -
8、 - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -x%*%y crossprodx,y= tx%*%y tcrossprodx,y= x%*% ty 2.5.4 矩阵外积 x%o%y outerx,y = x%o%y outerX, Y, FUN=*, X,Y 为矩阵, fun 是做外积运算函数,默认为乘法;此函数在绘制三维曲面时特别有用;它可以生成一个 X-Y 的网格;2.5.5 矩阵乘法 和向量内积相同,只是要求 A*B 有相同的维数 2.5.6 生成对角阵和矩阵取对角运算 diagv 作用取决于变量;v 是一个 向量 时,表示
9、以 v 为对角元素的对角阵;v 是一个矩阵时,表示取矩阵的对角线上元素;2.5.7 解线性方程组 求解 Ax=b命令为 solveA,b; 求矩阵 A的逆,命令为 solve (A)2.5.8 矩阵的特点值和特点 向量 eigenSm 次命令为求对称矩阵的特点值和特点 向量 example:ev-engenSm ev$values; ev$vectors; 2.5.9 矩阵的奇特值分解细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - -
10、 - - - - - -svd(A)即: A=UDVT,其中 U,V是正交阵, D为对角阵,也就是矩阵 A 的奇 异值 而 attachsvdA u%*%diagd%*%tv 把上述过过程在返仍回去;attach 是为了说明 u,v,d 属于 svd(A)2.5.10 最小拟合与 QR分解 lsfit(x,y)ls.diag 可以给出进一步信息Qr 分解 qr ()qr.coef0 qr.fitted qr.resid 2.6 列表与数据框 list 是一种特殊的对象集合,各对象元素的类型可以任意;Example:Lst-listname ” Fred” ,wife= ” Mary” ,no.
11、children=3,child.age=c4,7,9 2.7 掌握流 2.7.1 分支语句 2.7.1.1 if/else 语句 ifcond statement_1 ifcond statement_1 else statement_2 example:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -ifanyx=0 y-log1+x else y-logx 另外仍有:ifcond1 statement_
12、1 else if cond2 statement_2 else if cond3 statement_3 else statement_4 2.7.1.2 switch 语句switchstatement,list statement 是表达式, list是列表,可以用出名定义;假如 statement 的返回值在 1 到 length (list),就返回相应位置 的值,否就返回 NULL Example:x-3 switchx,2+2,mean1:10),rnorm4 switch2,2+2,mean1:10),rnorm4 switch6,2+2,mean1:10),rnorm4 2.
13、7.2 终止语句与空语句 break :终止循环,使程序跳到循环之外 空语句是 next ,连续执行 2.7.3 循环语句 2.7.3.1 for 循环语句 for (name in expr_1 ) expr_2 其中 name是循环变量, expr_1 是一个 向量 表达式(一般是一个序列 1:20);expr_2 通常是一组表达式细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -2.7.3.2 while
14、 循环语句while (condition)expr expr 如条件 condition成立,执行表达式2.7.3.3 repeat 语句 repeat expr repeat 依靠 break 语句跳出循环 example:f-1; f2-1; i-1; repeat fi+2-fi+fi+1 i=1000 break 3、统计量的描述 3.1 位置度量 3.1.1 平均值求解 w.mean-mean(w,trim=0.1 );trim 取值在 00.5 之间,表示在运算平均值前需要舍去的反常值的 比例,利用这个参数可以有效改善结果;3.1.2 次序统计量 sort 函数高阶用法 sort
15、 (X,method=c ” shell ” , ” quick ” , decreasing=FALSE)method 打算用 shell 3.1.3 中位数排序方法, quick 就是快速排序细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -median()3.1.2 百分位数 quantile ()quantilex, probs = seq0, 1, 0.25, na.rm = FALSE,names
16、= TRUE, type = 7, . probs 给出相应的百分位数,默认是0,1/4.1/2 ,3/4 ,1;na.rm 是规律变量,当 ra.rm=TRUE时可以处理缺失数据的情形;3.2 分散程度的度量 方差: var 标准差: sd()协方差矩阵: cov()相关矩阵: cor ()4、绘图函数 4.1 直方图、体会分布图、 QQ图 4.1.1 直方图 hist ()histx, breaks = Sturges, freq = NULL, probability = .freq, include.lowest = TRUE, right = TRUE, density = NULL
17、, angle = 45, col = NULL, border = NULL, main = pasteHistogram of , xname, xlim = rangebreaks, ylim = NULL, xlab = xname, ylab, axes = TRUE, plot = TRUE, labels = FALSE, nclass = NULL, warn.unused = TRUE, . TRUE 绘出频率直方图 counts 绘出频率直方图 FALSE绘出密度直方图 probability 是规律变量,与 freq 相反,是与 S-PLUS想兼容的参数 4.1.2 核密
18、度估量函数 density ()densityx, bw = nrd0, adjust = 1, 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -kernel = cgaussian, epanechnikov, rectangular, triangular, biweight, cosine, optcosine, weights = NULL, window = kernel, width, give.
19、Rkern = FALSE, n = 512, from, to, cut = 3, na.rm = FALSE, . bw是贷款,可挑选;当 Example:bw为默认时, R会画出其曲线;w-c75,64,47.4,66.9,62.2,62.2,58.7,63.5,66.6,64.0, 57.9,50.0,72.0 histw,freq=FALSE linesdensityw,col=” blue ” x-44:76 linesx,dnormx,meanw,sdw,col=” red” 4.1.3 体会分布 ecdf ()plotx, ., ylab=Fnx, verticals = FA
20、LSE, col.01line = gray70, pch = 19 ecdf ()中的 x 是由观看值所得到的数值型()中的 x 是函数 ecdf ()生成的 向量,verticals 时,表示画竖线;否就不画竖线;Example:plotecdfw,verticals=TRUE,do.p=FALSE x-44:78 linesx,pnormx,meanw,sdw)其中,向量 ,而在函数 plot 是规律变量,为 TRUEdo.p=FALSE时表示不画出点处的记号;否就(TRUE,默认值)画出记号;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1
21、0 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -4.1.4QQ 图 鉴定样本是否近似于某种分布;qqnorm()qqline ()两种画正态 QQ图的方法 qqnormy, ylim, main = Normal Q-Q Plot, xlab = Theoretical Quantiles, ylab = Sample Quantiles, plot.it = TRUE, datax = FALSE, . qqliney, datax = FALSE, . qqplotx, y, plot.it =
22、 TRUE, xlab = deparsesubstitutex, ylab = deparsesubstitutey, . example:数据和上面一样 qqnorm(w); qqline (w)4.2 茎叶图,箱线图和五数总结 4.2.1 茎叶图stem()stemx, scale = 1, width = 80, atom = 1e-08 x 是数据 向量 ,scale 掌握绘出茎叶图的长度, width 是绘图的宽 度, atom 是容差假如挑选 scale=2 就表示将 * 个个位数分成两段 4.2.2 箱线图boxplot ()箱线图中,上( Q3)下( Q1)四分位数分别确定出
23、中间箱体的顶部和地步;箱体中间的粗线是中位数(Me)所在的位置;有箱体上下分别舒展出去的垂直部分称为“ 触须” ,表示数据的漫步范畴,最远点为 1.5 倍四分位数间距;超出此范畴的点称为反常值点;反常值点用“ ;” 表示; Boxplot 三种用法:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -boxplotx, . X 是向量数据 / 列表 / 数据框 boxplotformula, data = NU
24、LL, ., subset, na.action = NULL formula 是公式 boxplotx, ., range = 1.5, width = NULL, varwidth = FALSE, notch = FALSE, outline = TRUE, names, plot = TRUE, border = parfg, col = NULL, log = , pars = listboxwex = 0.8, staplewex = 0.5, outwex = 0.5, horizontal = FALSE, add = FALSE, at = NULL X 是向量数据 / 列表
25、 / 数据框;range 是“ 触须” 的范畴(默认 1.5 )notch=TRUE标出箱线图带有的切口 outline=FALSE ,不标明反常值点 col 是颜色变量 horizontal=TRUE 将箱线图绘成水平 状态 add=TRUE在原图上画图,否就替换新图 example:A-c79.98,80.04,80.02,80.04,80.03,80.04,79.97,80.0 5,80.03,80.02,80.00,80.02 B-c80.02,79.94,79.98,79.97,79.97,80.03,79.95,79.9 7 boxplotA,B,notch=T,names=cA,
26、B,vcol=c2,3 4.2.3 五数总括 fivenum ()fivenumx, na.rm = TRUE x 样本数据, na.rm=TRUE表示运算五数总括之前全部的 NA和 NAN数 据将被去掉;4.3 正态性检验与分布拟合 4.3.1 正态性 W检验方法细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -shapiro.test 4.3.2 体会分布的 Kolmogorov-Smirnov 检验方法
27、 ks.test 4.3 R 中的高阶作图 4.3.1 高维度作图 4.3.1.1 plot ()函数 plot (x,y)pairs ()coplot ()qqnorm()qqline ()qqplot ()hist ()hist (x,nclass=n )hist (x,breaks=b, )dotchart (x, )image(x,y,z, )contour (x,y,z, )persp (x,y,z, )4.3.2 低维度作图加点 points () 加线 lines() 在点处加标记text (x,y,labels , )在图上加直线abline (a,b)画一条 y=ax+b 的
28、直线abline (h=y)画出一条过全部点的直线细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 14 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -abline (v=x)画出一条过全部点的竖直线 abline (lm.obj )表示绘出线性模型得到的方程 polygon ()图形可以在图上加上多边形,(x,y)为坐标,一次连接全部的点会出example:n - 100 ;xx - c0:n, n:0;yy - cc0,cumsumstats:rnormn, revc0,cumsumstats:rnormn plot xx, yy, type=n, xlab=Time, ylab=Distance polygonxx, yy, col=gray, border = red titleDistance Between Brownian Motions 图上加上说明 titleDistance Between Brownian Motions axis (side , )细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 14 页 - - - - - - - - -