2365368654R语言方法总结

上传人:仙*** 文档编号:28802692 上传时间:2021-09-13 格式:DOC 页数:14 大小:360.01KB
收藏 版权申诉 举报 下载
2365368654R语言方法总结_第1页
第1页 / 共14页
2365368654R语言方法总结_第2页
第2页 / 共14页
2365368654R语言方法总结_第3页
第3页 / 共14页
资源描述:

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

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(x, na

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

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

4、.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, mtcars$am, dstats

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

6、 length(x), mean = mean(x), sd = sd(x)dfm - melt(mtcars, measure.vars = c(mpg, hp, wt), id.vars = c(am, cyl)cast(dfm, am + cyl + variable ., dstats)频数表和列联表1、table():生成简单的频数统计表mytable - with(Arthritis, table(Improved)Mytable2、prop.table():频数转化为比例值prop.table(mytable)3、prop.table()*100:转化为百分比prop.table

7、(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, 2)prop.table(mytable, 2)prop.table(mytable)6、addmargins():函数

8、为这些表格添加边际和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、table()和xtabs():都可以基于三个或更多的类别型变量生成多维列联表。2、ftable():例:mytable - xtabs(

9、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(mytable, c(1, 2), 3)gtable(addmargins(prop.table(mytable, c(1, 2), 3) * 100独

10、立检验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(Treatment+Improved, data=Arthritis) fisher.test(mytable)3、Cochran-MantelHaenszel检

11、验: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():函数可以计算这三种相关系数,3、cov():函数可用来计算协方差例:states - state.x77, 1:6cov(states)cor(states)cor(st

12、ates, 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为要检验相关性的变量, alternative则用来指定进行双侧检验或单侧检验(取值为two.side、 less或greater) ,而method用以指定要计算的相关类型(pear

13、son、kendall或spearman)当研究的假设为总体的相关系数小于0时,请使用alternative=less。在研究的假设为总体的相关系数大于0时,应使用alternative=greater。在默认情况下,假设为alternative=two.side(总体相关系数不等于0)。 例:cor.test(states, 3, states, 5)2、corr.test():可以为Pearson、 Spearman或Kendall相关计算相关矩阵和显著性水平。例:library(psych)corr.test(states, use = complete)3、 pcor.test():p

14、sych包t 检验1、t.test(yx,data)(独立样本)例:library(MASS)t.test(Prob So, data=UScrime)2、 t.test(y1,y2,paired=TRUE)(非独立) 例:library(MASS)sapply(UScrimec(U1, U2), function(x) (c(mean = mean(x), sd = sd(x)with(UScrime, t.test(U1, U2, paired = TRUE)组间差异的非参数检验两组的比较:1、wilcox.test(yx,data) :评估观测是否是从相同的概率分布中抽得例:with(U

15、Scrime, by(Prob, So, median)wilcox.test(Prob So, data=UScrime)2、 wilcox.test(y1,y2,paried=TRUE):它适用于两组成对数据和无法保证正态性假设的情境。例:sapply(UScrimec(U1, U2), median)with(UScrime, wilcox.test(U1, U2, paired = TRUE)多于两组的比较:1、 kruskal.test(yA,data):各组独立例:states - as.data.frame(cbind(state.region, state.x77)kruska

16、l.test(Illiteracy state.region, data=states)2、 friedman.test(yA|B,data):各组不独立非参数多组比较:1、 npmc() :npmc包例:class - state.regionvar - state.x77, c(Illiteracy)mydata - as.data.frame(cbind(class, var)rm(class,var)library(npmc)summary(npmc(mydata), type = BF)aggregate(mydata, by = list(mydata$class), median

17、)回归用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。1、 lm(): 拟合回归模型 lm(yx1+x2+x3,data) 简单线性回归1、 lm(): (data是数据框) 例:fit - lm(weight height, data = women)summary(fit)women$weightfitted(fit)residuals(fit)plot(women$height, women$weight, main = Women Age 30-39, xlab = Height (in inches), ylab = Weight

18、(in pounds)多项式回归例:fit2 - lm(weight height + I(height2), 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() :绘制二元关系图例:library(car)scatterplot(weight height, data = women,

19、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 Population + Illiteracy + Income + Frost, data = states)有

20、交互项的多元线性回归例: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 = c(2.2, 3.2, 4.2), multiline = TRUE)回归诊断1、 confint():求模型参数的

21、置信区间 例: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(height2), data = women-c(13, 15),)par(mfrow = c(2, 2)plot(newfit)par(opar

22、)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 = identify ,simulate = TRUE, main = Q-Q Plot)注:id.method = identify选项能够交

23、互式绘图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, freq=FALSE, xlab=Studentized Residual, main=Distribution of Erro

24、rs) 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,red), cex=.7)residplot(fit)误差的独立性8、 durbinWatsonTest() :验证独立性

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

26、证,同时还能做偏斜度、峰度和异方差性的评价 例: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.plot - function(fit) p - length(coefficients(fit) n - length(fitted(fi

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

28、= 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的州可被认为是离群点,水平轴超过0.2或0.3的州有高杠杆值(通常为预测值的组合)。圆圈大小与影响成比例,圆圈很大的点可

29、能是对模型参数的估计造成的不成比例影响的强影响点变量变换1、powerTransform():car包:函数通过 的最大似然估计来正态化变量。例:library(car)summary(powerTransform(states$Murder)2、 boxTidwell():car包:通过获得预测变量幂数的最大似然估计来改善线性关系 例:library(car)boxTidwell(Murder Population + Illiteracy, data = states)模型比较1、 anova():基础包:比较两个嵌套模型的拟合优度 例:fit1 - lm(Murder Populatio

30、n + Illiteracy + Income + Frost, data = states)fit2 - lm(Murder Population + Illiteracy, data = states)anova(fit2, fit1)2、 AIC():AIC值越小的模型(可以不嵌套)要优先选择,它说明模型用较少的参数获得了足够的拟合度。 例:fit1 - lm(Murder Population + Illiteracy + Income + Frost, data = states)fit2 - lm(Murder Population + Illiteracy, data = sta

31、tes)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(leaps)leaps - regsubsets(Murder Population + Illiteracy + Income + Frost, data = states, nbe

32、st = 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 - function(fit, x) cbind(1, x) %*% fit$coef # matrix of predictors x - fit$model, 2:ncol(

33、fit$model) # vector of predicted values y - fit$model, 1 results - crossval(x, y, theta.fit, theta.predict, ngroup = k) r2 - cor(y, fit$fitted.values)2 r2cv - cor(y, results$cv.fit)2 cat(Original R-square =, r2, n) cat(k, Fold Cross-Validated R-square =, r2cv, n) cat(Change =, r2 - r2cv, n)2、 shrink

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

35、+ Frost, data = zstates)coef(zfit)2、 relweights() :相对权重 例:relweights - function(fit, .) R - cor(fit$model) nvar - ncol(R) rxx - R2:nvar, 2:nvar rxy - R2:nvar, 1 svd - eigen(rxx) evec - svd$vectors ev - svd$values delta - diag(sqrt(ev) # correlations between original predictors and new orthogonal var

36、iables lambda - evec %*% delta %*% t(evec) lambdasq - lambda2 # regression coefficients of Y on orthogonal variables beta - solve(lambda) %*% rxy rsquare - colSums(beta2) rawwgt - lambdasq %*% beta2 import - (rawwgt/rsquare) * 100 lbls - names(fit$model2:nvar) rownames(import) - lbls colnames(import

37、) - Weights # plot results barplot(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)# using relweights()fit - lm(Murder Population + Illiteracy + Inc

38、ome + 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), FUN = sd)fit - aov(response trt)summary(fit)library(gplots)p

39、lotmeans(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包:多重均值比较例:library(multcomp)par(mar = c(5, 4, 6, 2)tuk - glht(fit, li

40、nfct = mcp(trt = Tukey)plot(cld(tuk, level = 0.05), col = lightgrey)par(opar)评估检验的假设条件1、正态检验:library(car) qqPlot(lm(response trt, data = cholesterol), simulate = TRUE, main = QQ Plot, labels = FALSE)2、 方差齐性检验:bartlett.test(response trt, data = cholesterol)3、 检测离群点:outlierTest() car包 library(car)outl

41、ierTest(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(dose, fit)2、ancova() :HH包 :绘制因变量、协变量和因子之间的关系图 例:library(HH) ancova(weigh

42、t 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():gplots包 :展示交互效应 例:library(gplots)plotmeans(len interaction(supp, dose, sep =

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