R语言方法总结

上传人:s****a 文档编号:174108987 上传时间:2022-12-14 格式:DOCX 页数:12 大小:36.80KB
收藏 版权申诉 举报 下载
R语言方法总结_第1页
第1页 / 共12页
R语言方法总结_第2页
第2页 / 共12页
R语言方法总结_第3页
第3页 / 共12页
资源描述:

《R语言方法总结》由会员分享,可在线阅读,更多相关《R语言方法总结(12页珍藏版)》请在装配图网上搜索。

1、计算描述性统计量:1、summary():例: summary(mtcarsvars)summary ()函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻 辑型向量的频数统计。2、apply()函数或 sapply()函数计算所选择的任意描述性统计量。 mean、 sd、 var、 min、 max、 median、 length、 range 和quantile。函数fivenum()可返回图基五数总括(Tukeys five-number summary,即最小值、 下四分位数、中位数、上四分位数和最大值)。sapply()例: mystats - function(

2、x, na.omit = FALSE) if (na.omit)x - x!is.na(x)m - mean(x)n - length(x)s - sd(x)skew - sum(x - m)A3/sA3)/nkurt - sum(x - m)A4/sA4)/n - 3 return(c(n = n, mean = m, stdev = s, skew = skew, kurtosis = kurt)sapply(mtcarsvars, mystats)3、describe():Hmisc包:返回变量和观测的数量、缺失值和唯一值的数目、平均值、 分位数,以及五个最大的值和五个最小的值。例: l

3、ibrary(Hmisc)describe(mtcarsvars)4、stat.desc(): pastecs 包若basic=TRUE (默认值),则计算其中所有值、空值、缺失值的数量,以及最小值、 最 大值、值域,还有总和。若desc=TRUE (同样也是默认值),则计算中位数、平均数、平均数的标准误、平均 数置信度为95%的置信区间、方差、标准差以及变异系数。若norm=TRUE (不是默认的),则返回正态分布统计量,包括偏度和峰度(以及它们 的统计显著程度)和Shapiro-Wilk正态检验结果。这里使用了 p值来计算平均数的置信区 间(默认置信度为 0.95:例: library(p

4、astecs)stat.desc(mtcarsvars) 5、describe(): psych 包 计算非缺失值的数量、平均数、标准差、中位数、截尾均值、绝对中位差、最小值、最大值 值域、偏度、峰度和平均值的标准误例: library(psych)describe(mtcarsvars)分组计算描述性统计量1、aggregate():例:aggregate(mtcarsvars, by = list(am = mtcars$am), mean)2、by():例: dstats - function(x)(c(mean=mean(x), sd=sd(x) by(mtcarsvars, mtca

5、rs$am, dstats) by(mtcars,vars,mtcars$am,plyr:colwis(dstats)3、summaryBy(): doBy 包例 library(doBy)summaryBy(mpg + hp + wt am, data = mtcars, FUN = mystats)4、describeby(): doBy包(describe.by()函数不允许指定任意函数,) 例: library(psych)describe.by(mtcarsvars, mtcars$am)5、reshape 包分组:(重铸和融合)例: library(reshape)dstats -

6、 function(x) (c(n = length(x), mean = mean(x),sd = sd(x)dfm addmargins (maiinsj table (taJble)扭卅婪别里变试(凶子)创建一个N堆列咲衣 悵撮-幷金式和-个拓阵或数据抠创建一牛N堆列联表 依.帕rG he毎良的边赫利衣将宣屮条鬥走示为分战形式 文的边际刈衣汁薛拱中黑廿的和 将槪述(飙认足求和茫果肢人志中 刨建一亍嚣凑的“平谄”式列联我1、table():生成简单的频数统计表mytable - with(Arthritis, table(Improved)Mytable2、prop.table():频数转

7、化为比例值prop.table(mytable)3、proptable()*100:转化为百分比prop.table(mytable)*100二维列联表4、table(A,B)/xtabs(A+b,data=mydata)例: mytable - xtabs( Treatment+Improved, data=Arthritis)5、margin.table()和 prop.table():函数分别生成边际频数和比例 (1:行,2:列)行和与行比例margin.table(mytable, 1) prop.table(mytable, 1)列和与列比例margin.table(mytable,

8、 2) prop.table(mytable, 2) prop.table(mytable)6、addmargins():函数为这些表格添加边际和 addmargins(mytable)admargins(prop.table(mytable) addmargins(prop.table(mytable, 1), 2) addmargins(prop.table(mytable, 2, 1)7、crossTable(): gmodels 包例: library(gmodels)CrossTable(Arthritis$Treatment, Arthritis$Improved)多维列联表1、t

9、able。和xtabs():都可以基于三个或更多的类别型变量生成多维列联表。2、ftable():例: mytable - xtabs( Treatment+Sex+Improved, data=Arthritis) mytableftable(mytable)margin.table(mytable, 1)margin.table(mytable, 2)margin.table(mytable, 3)margin.table(mytable, c(1,3) ftable(prop.table(mytable, c(1, 2) ftable(addmargins(prop.table(myta

10、ble, c(1, 2), 3) gtable(addmargins(prop.table(mytable, c(1, 2), 3) * 100独立检验1、卡方独立性检验 :chisq.test()例: library(vcd)mytable - xtabs(Treatment+Improved, data=Arthritis) chisq.test(mytable)mytable - xtabs(Improved+Sex, data=Arthritis) chisq.test(mytable)2、Fisher 精确检验:fisher.test()例: mytable - xtabs(Trea

11、tment+Improved, data=Arthritis) fisher.test(mytable)3、Cochran-MantelHaenszel 检验:mantelhaen.test()例: mytable - xtabs(Treatment+Improved+Sex, data=Arthritis) mantelhaen.test(mytable)相关性度量1、assocstats():例: library(vcd) mytable - xtabs(Treatment+Improved, data=Arthritis) assocstats(mytable)2、cor():函数可以计

12、算这三种相关系数,3、cov():函数可用来计算协方差 例: states - state.x77, 1:6cov(states)cor(states)cor(states, method=spearman)x - states, c(Population, Income, Illiteracy, HS Grad)y - states, c(Life Exp, Murder)cor(x, y)4、pcor():偏相关ggm包例: library(ggm)pcor(c(1, 5, 2, 3, 6), cov(states)相关性的显著性检验1、cor.test()其中的 x 和 y 为要检验相关

13、性的变量, alternative 则用来指定进行双侧检验或单侧检验(取 值为two.side、less或greater),而method用以指定要计算的相关类型(pearson、 kendall或spearman)当研究的假设为总体的相关系数小于0时,请使用alternative= less。在研究的假设为总体的相关系数大于0时,应使用alternative=greater。在默认情况 下,假设为alternative=two.side(总体相关系数不等于0)。例: cor.test(states, 3, states, 5)2、 corrtest():可以为Pearson、Spearman

14、或Kendall相关计算相关矩阵和显著性水平。 例:library(psych)corr.test(states, use = complete)3、pcortest(): psych 包t 检验1、t.test(yx,data)(独立样本)例: library(MASS)t.test(Prob So, data=UScrime)2、ttest(y1,y2,paired=TRUE)(非独立)例: library(MASS)sapply(UScrimec(U1, U2), function(x) (c(mean = mean(x),sd = sd(x)with(UScrime, t.test(U

15、1, U2, paired = TRUE)组间差异的非参数检验两组的比较:1、wilcoxtest(yx,data) :评估观测是否是从相同的概率分布中抽得例: with(UScrime, by(Prob, So, median)wilcox.test(Prob So, data=UScrime)2、wilcoxtest(y1, y2,paried=TRUE):它适用于两组成对数据和无法保证正态性假设的情境。 例:sapply(UScrimec(Ul, U2), median)with(UScrime, wilcox.test(U1, U2, paired = TRUE)多于两组的比较:1、k

16、ruskal.test(yA,data):各组独立例: states - as.data.frame(cbind(state.region, state.x77)kruskal.test(Illiteracy state.region, data=states)2、friedman.test(yAIB,data):各组不独立非参数多组比较:l、npmc() :npmc 包例: class - state.regionvar - state.x77, c(Illiteracy)mydata - as.data.frame(cbind(class, var)rm(class,var)library

17、(npmc)summary(npmc(mydata), type = BF) aggregate(mydata, by = list(mydata$class), median)回归用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标 变量或结果变量)的方法。1、 lm(): 拟合回归模型 lm(yx1+x2+x3,data)表E-3对拟合绞性模型非常有用的其他酸数宙数用逢summary ()耀示曲合模車的详细结果coefficients()列卅抱合模皑的模担举散(截距项和料率confint()提供植型够故的首佶区间t默认卯)f ittedO刈山拟合税樂的預测值resi

18、duals()列出祖存桎密杓视#佰anova()生成一于拟書模坐的方并井斷恚,或若比较弗r咸更舉拟書模业的方幷分祈奁vcov()剌出愎矍塗穀的协方誥距阵AIC)输出赤ilk倍息统什倒plot()空成评也拟合按生的瑋断罔pr&dict t)HJ扭住模型对新附数爭集预测响应礎呈值简单线性回归1、lm(): (data 是数据框)例: fit - lm(weight height, data = women) summary(fit) women$weight fitted(fit) residuals(fit)plot(women$height, women$weight, main = Wome

19、n Age 30-39, xlab = Height (in inches), ylab = Weight (in pounds)多项式回归例:fit2 - lm(weight height + I(heightA2), data = women) summary(fit2)plot(women$height, women$weight, main = Women Age 30-39, xlab = Height (in inches), ylab = Weight (in lbs)lines(women$height, fitted(fit2)2、scatterplot() :绘制二元关系图

20、例: library(car) scatterplot(weight height, data = women, spread = FALSE, lty.smooth = 2, pch = 19, main = Women Age 30-39, xlab = Height (inches), ylab = Weight (lbs.)多元线性回归1、scatterplotMatrix():car 包 scatterplotMatrix()函数默认在非对角线区域绘制变量间的散点图,并添加平滑(loess) 和线性拟合曲线。对角线区域绘制每个变量的密度图和轴须图。例: fit - lm(Murder

21、 Population + Illiteracy + Income + Frost, data = states)有交互项的多元线性回归例: fit - lm(mpg hp + wt + hp:wt, data = mtcars) summary(fit)1、effect() : effects 包 :展示交互项的结果term即模型要画的项,mod为通过lm()拟合的模型,xlevels是一个列表,指定变量 要设定的常量值, multiline=TRUE 选项表示添加相应直线。例: library(effects) plot(effect(hp:wt, fit,xlevels=list(wt

22、= c(2.2, 3.2, 4.2), multiline = TRUE)回归诊断1、confint():求模型参数的置信区间例: fit - lm(Murder Population + Illiteracy + Income + Frost, data=states) confint(fit)2、plot():生成评价模型拟合情况的图形例: fit - lm(weight height, data = women) par(mfrow = c(2, 2) plot(fit)3、lm() : 删除观测点例: newfit - lm(weight height + I(heightA2), d

23、ata = women-c(13, 15),) par(mfrow = c(2, 2) plot(newfit) par(opar)匚卫;包提供了大疑函数-大大增强了拟合和评愉冋归模型的能力参见衣RVb表c*r包中的1回归诒斷实用函数目的TJP1口匕(丨竹位数比较関durb iiWa t sonTes 11)对谟望自相关忤做Du血检验crPlo匚却()成分与畤闍DiCVTest ()对非恒定的盪差方差做得奇检验spr eadLeve1P1ot(事敢水干检验cutlierTest()HonfciTfini鬲辟点栓验avPlcts()希加的变最圈皤inluencePlQt f)何!H崽响图scat

24、terplot()増迦的胶点罔scat terrplD tHatr ix ()贈强的敌点图审PFvif ()方左膨!底因子gvlma包提供了对所有线性模型假设进行检验的方法检验正态性:4、qqPlot(): car包:学生化残差(studentized residual,也称学生化删除残差或折叠化残差) 例: library(car)fit - lm(Murder Population + Illiteracy + Income + Frost, data = states) qqPlot(fit, labels = row.names(states), id.method = identif

25、y ,simulate = TRUE, main = Q-Q Plot)注:id.method = identify选项能够交互式绘图5、fitted。:提取模型的拟合值例: fitted(fit)“Nevada”6、residuals。:二项式回归模型的残差例: residuals(fit)“Nevada”7、residplot():生成学生化残差柱状图(即直方图),并添加正态曲线、核密度曲线和轴须 图。它不需要加载 car 包例: residplot - function(fit, nbreaks=10) z - rstudent(fit)hist(z, breaks=nbreaks, f

26、req=FALSE, xlab=Studentized Residual, main=Distribution of Errors)rug(jitter(z), col=brown)curve(dnorm(x, mean=mean(z), sd=sd(z),add=TRUE, col=blue, lwd=2) lines(density(z)$x, density(z)$y, col=red, lwd=2, lty=2) legend(topright,legend = c( Normal Curve, Kernel Density Curve), lty=1:2, col=c(blue,re

27、d), cex=.7)residplot(fit)误差的独立性8、durbinWatsonTest() :验证独立性例:durbinWatsonTest(fit)验证线性9、crPlots():car 包成分残差图也称偏残差图例: crPlots(fit)同方差性 (car 包的两个函数)10、ncvTest() :生成一个计分检验,零假设为误差方差不变,备择假设为误差方差随着拟 合值水平的变化而变化。若检验显著,则说明存在异方差性11、spreadLevelPlot():添加了最佳拟合曲线的散点图,展示标准化残差绝对值与拟合值的 关系。例: library(car) ncvTest(fit)

28、 spreadLevelPlot(fit)线性模型假设的综合验证1、gvlma() :gvlma 包:线性模型假设进行综合验证,同时还能做偏斜度、峰度和异方差性 的评价例: library(gvlma)gvmodel 2就表明存在多重共线性问题例: vif(fit) sqrt(vif(fit) 2异常观测值1、outlierTest() :car 包 :求得最大标准化残差绝对值 Bonferroni 调整后的 p 值 例: library(car)outlierTest(fit)高杠杆值点1、hat.plot() :观测点的帽子值大于帽子均值的2或3倍,即可以认定为高杠杆值点例: hat.pl

29、ot - function(fit)p - length(coefficients(fit)n - length(fitted(fit)plot(hatvalues(fit), main = Index Plot of Hat Values) abline(h = c(2, 3) * p/n, col = red, lty = 2) identify(l:n, hatvalues(fit), names(hatvalues(fit)hat.plot(fit)强影响点:Cooks D值大于4/(n-k -1),则表明它是强影响点,其中n为样本量大小,k是 预测变量数目。例:cutoff - 4/

30、(nrow(states) - length(fit$coefficients) - 2)plot(fit, which = 4, cook.levels = cutoff)abline(h = cutoff, lty = 2, col = red)1、influencePlot(): car包:离群点、杠杆值和强影响点的信息整合到一幅图形中 例: influencePlot(fit, id.method = identify, main = Influence Plot,sub = Circle size is proportial to Cooks Distance)纵坐标超过+2或小于2

31、的州可被认为是离群点,水平轴超过0.2或0.3的州有高杠杆值(通常为预测值的组合)。圆圈大小与影响成比例,圆圈很大的点可能是对模型参数的估计造成的不成比例影响的强影 响点变量变换表弘5當见前娈换-2-0.50D.512i/rItY1/#无1、powerTransform():car包:函数通过入的最大似然估计来正态化变量x。例: library(car) summary(powerTransform(states$Murder)2、boxTidwell():car包:通过获得预测变量幕数的最大似然估计来改善线性关系例: library(car)boxTidwell(Murder Populat

32、ion + Illiteracy, data = states)模型比较1、anova():基础包:比较两个嵌套模型的拟合优度例: fitl - lm(Murder Population + Illiteracy + Income +Frost, data = states)fit2 - lm(Murder Population + Illiteracy, data = states)anova(fit2, fitl)2、AIC(): AIC值越小的模型(可以不嵌套)要优先选择,它说明模型用较少的参数获得了足 够的拟合度。例: fitl - lm(Murder Population + Ill

33、iteracy + Income +Frost, data = states)fit2 - lm(Murder Population + Illiteracy, data = states)AIC(fit1, fit2)变量选择1、stepAIC(): MASS包:逐步回归模型例:library(MASS)fit1 - lm(Murder Population + Illiteracy + Income + Frost, data = states) stepAIC(fit, direction = backward)2、regsubsets():leaps 包:全子集回归例: library

34、(leaps)leaps - regsubsets(Murder Population + Illiteracy +Income + Frost, data = states, nbest = 4) plot(leaps, scale = adjr2) 交叉验证1、crossval()函数:bootstrap包:实现k重交叉验证例: shrinkage - function(fit, k = 10) require(bootstrap)# define functions theta.fit - function(x, y) lsfit(x, y) theta.predict - functi

35、on(fit, x) cbind(1, x) %*% fit$coef# matrix of predictorsx - fit$model, 2:ncol(fit$model)# vector of predicted values y - fit$model, 1results - crossval(x, y, theta.fit, theta.predict, ngroup = k)r2 - cor(y, fit$fitted.values)人2r2cv - cor(y, results$cv.fit)A2 cat(Original R-square =, r2, n)cat(k, Fo

36、ld Cross-Validated R-square =, r2cv, n) cat(Change =, r2 - r2cv, n)2、shrinkage。:交叉验证;R平方减少得越少,预测则越精确。例: fit - lm(Murder Population + Income + Illiteracy + Frost, data = states) shrinkage(fit)相对重要性1、scale():将数据标准化为均值为0、标准差为1的数据集,这样用R回归即可获得标准 化的回归系数。注意,scale()函数返回的是一个矩阵,而lm()函数要求一个数据框例: zstates - as.d

37、ata.frame(scale(states)zfit - lm(Murder Population + Income + Illiteracy +Frost, data = zstates) coef(zfit)2、relweights()相对权重例: relweights - function(fit, .) R - cor(fit$model)nvar - ncol(R)rxx - R2:nvar, 2:nvarrxy - R2:nvar, 1svd - eigen(rxx) evec - svd$vectors ev - svd$values delta - diag(sqrt(ev)

38、# correlations between original predictors and new orthogonal variables lambda - evec %*% delta %*% t(evec)lambdasq - lambdaA2# regression coefficients of Y on orthogonal variables beta - solve(lambda) %*% rxyrsquare - colSums(betaA2) rawwgt - lambdasq %*% betaA2import - (rawwgt/rsquare) * 100 lbls

39、- names(fit$model2:nvar) rownames(import) - lbls colnames(import) - Weights# plot resultsbarplot(t(import), names.arg = lbls, ylab = % of R-Square,xlab = Predictor Variables, main = Relative Importance of Predictor Variables, sub = paste(R-Square = , round(rsquare, digits = 3),.) return(import)# usi

40、ng relweights()fit - lm(Murder Population + Illiteracy + Income + Frost, data = states)relweights(fit, col = lightgrey)方差分析1、aov() =lm()单因素方差分析2、plotmeans():绘制带置信区间的图形例:library(multcomp) attach(cholesterol) table(trt) aggregate(response, by = list(trt), FUN = mean) aggregate(response, by = list(trt)

41、, FUN = sd) fit - aov(response trt) summary(fit) library(gplots)plotmeans(response trt, xlab = Treatment, ylab = Response, main = Mean Plotnwith 95% CI)detach(cholesterol)多重比较1、TukeyHSD():对各组均值差异的成对检验 例: TukeyHSD(fit)par(las = 2) par(mar = c(5, 8, 4, 2) plot(TukeyHSD(fit) par(opar)2、glht():multcomp

42、包:多重均值比较例: library(multcomp) par(mar = c(5, 4, 6, 2) tuk - glht(fit, linfct = mcp(trt = Tukey) plot(cld(tuk, level = 0.05), col = lightgrey) par(opar)评估检验的假设条件1、正态检验:1 ibrary(car)qqPlot(lm(response trt, data = cholesterol), simulate = TRUE, main = QQ P1ot, 1abe1s = FALSE)2、方差齐性检验:bart1ett.test(respo

43、nse trt, data = cholesterol)3、检测离群点:outlierTest() car包library(car) outlierTest(fit)单因素协方差分析例: data(litter, package = multcomp) attach(litter)table(dose) aggregate(weight, by = list(dose), FUN = mean)fit - aov(weight gesttime + dose)summary(fit)1、effects() :effects 包 :计算调整的均值例: library(effects)effect

44、(dose, fit)2、ancova() :HH 包 :绘制因变量、协变量和因子之间的关系图 例:library(HH)ancova(weight gesttime + dose, data = litter)3、interaction.plot() :函数来展示双因素方差分析的交互效应例: interaction.plot(dose, supp, len, type = b, col = c(red, blue), pch = c(16, 18), main = Interaction between Dose and Supplement Type) 4、plotmeans():gplo

45、ts 包 :展示交互效应例: library(gplots)plotmeans(len interaction(supp, dose, sep = ), connect = list(c(1, 3, 5), c(2, 4, 6), col = c(red, darkgreen), main = Interaction Plot with 95% CIs, xlab = Treatment and Dose Combination) 5、interaction2wt():HH 包 :可视化结果例 :library(HH)interaction2wt(len supp * dose)6、colMeans():计算每列的平均值7、nrow()/ncol :计算数组额行数和列数8、mahalanobis():用协方差来计算两点之间距离的方法 稳健多元方差分析Wilks.test() :稳 健 单 因 素 MANOVA

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档

相关搜索

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!