R语言方法总结_第1页
R语言方法总结_第2页
R语言方法总结_第3页
R语言方法总结_第4页
R语言方法总结_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、unction(x, = FALSE) ifx - x!(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 包:返回变量和观测的数量、缺失值和唯一值的数目、平均值、 分位数,以及五个最大的值和五个最小的值。例: library(Hmi

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

4、、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) by(mtcars

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

6、 = sd(x) dfm - melt(mtcars, = c(mpg, hp,wt), = c(am, cyl) cast(dfm, am + cyl + variable ., dstats) 频数表和列联表1、table() :生成简单的频数统计表 mytable - with(Arthritis, table(Improved) Mytable2、():频数转化为比例值 (mytable)3、()*100 :转化为百分比 (mytable)*100 二维列联表4、table(A,B)/xtabs(A+b,data=mydata) 例: mytable - xtabs( Treatmen

7、t+Improved, data=Arthritis)5、()和():函数分别生成边际频数和比例(1:行, 2:列) 行和与行比例 (mytable, 1) (mytable, 1) 列和与列比例 (mytable, 2) (mytable, 2) (mytable)6、addmargins() :函数为这些表格添加边际和 addmargins(mytable) admargins(mytable) addmargins(mytable, 1), 2) addmargins(mytable, 2, 1) (): gmodels 包例: library(gmodels)CrossTable(Ar

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

9、table(addmargins(mytable, c(1, 2), 3) * 100 独立检验1、卡方独立性检验 : ()例: library(vcd)mytable - xtabs(Treatment+Improved, data=Arthritis) (mytable)mytable - xtabs(Improved+Sex, data=Arthritis)(mytable)2、Fisher 精确检验: ()例: mytable - xtabs(Treatment+Improved, data=Arthritis) (mytable)3、Cochran-Mantel Haenszel 检

10、验: ()例: mytable - xtabs(Treatment+Improved+Sex, data=Arthritis) (mytable)相关性度量1、assocstats() :例: library(vcd)mytable - xtabs(Treatment+Improved, data=Arthritis) assocstats(mytable)2、cor() :函数可以计算这三种相关系数,3、cov(): 函数可用来计算协方差 例: states - , 1:6cov(states) cor(states) cor(states, method=spearman)x - stat

11、es, 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、()其中的 x 和 y 为要检验相关性的变量, alternative 则用来指定进行双侧检验或单侧检验(取值为 、less或greater),而 method用以指定要计算的相关类型( pearson、kendall 或spearman)当研究的假设为总体的相关系数

12、小于0时,请使用 alternative=less。在研究的假设为总体的相关系数大于0时,应使用alternative=greater。在默认情况下,假设为alternative= (总体相关系数不等于 0)。例: (states, 3, states, 5)2、():可以为 Pearson、 Spearman 或 Kendall 相关计算相关矩阵和显着性水平。例: library(psych)(states, use = complete)3、(): psych 包t 检验1、(yx,data) (独立样本)例: library(MASS)(Prob So, data=UScrime)2、(

13、y1,y2,paired=TRUE)( 非独立 )例: library(MASS) sapply(UScrimec(U1, U2), function(x) (c(mean = mean(x), sd = sd(x)with(UScrime, (U1, U2, paired = TRUE)组间差异的非参数检验两组的比较:1、(yx,data) : 评估观测是否是从相同的概率分布中抽得例: with(UScrime, by(Prob, So, median)(Prob So, data=UScrime)2、(y1 , y2,paried=TRUE) :它适用于两组成对数据和无法保证正态性假设的情

14、境。例: sapply(UScrimec(U1, U2), median)with(UScrime, (U1, U2, paired = TRUE)多于两组的比较:1、(yA , data): 各组独立(Illiteracy , data=states)2、(yA|B,data): 各组不独立 非参数多组比较 :1、 npmc() :npmc 包例: class var - , c(Illiteracy) rm(class,var) library(npmc) summary(npmc(mydata), type = BF) aggregate(mydata, by = list(mydata

15、$class), median)回归用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果 变量)的方法。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), y

16、lab = 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(): 绘制二元关系图例: library(car)scatterplot(weight height,

17、data = women, spread = FALSE,= 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 = stat

18、es)有交互项的多元线性回归例: 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, , ),multiline = TRUE)回归诊断1、confint() : 求模型参

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

20、ar(opar)gvlma 包提供了对所有线性模型假设进行检验的方法检验正态性:4、qqPlot() : car 包: 学生化残差( studentized residual ,也称学生化删除残差或折叠化残差) 例: library(car)fit - lm(Murder Population + Illiteracy + Income + Frost, data = states) qqPlot(fit, labels = (states), = identify ,simulate = TRUE, main =Q-Q Plot)注: = identify 选项能够交互式绘图5、fitted

21、() :提取模型的拟合值例: 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 Errors) r

22、ug(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():验证独立性例: durbinW

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

24、斜度、峰度和异方差性的评价例:library(gvlma)gvmodel 2就表明存在多重共线性问题例:vif(fit)sqrt(vif(fit) 2异常观测值1、outlierTest() : car包:求得最大标准化残差绝对值Bonferroni调整后的p值例:library(car)outlierTest(fit)高杠杆值点1、():观测点的帽子值大于帽子均值的2或3倍,即可以认定为高杠杆值点例:-fun ctio n(fit)p - len gth(coefficie nts(fit)n - length(fitted(fit)plot(hatvalues(fit), main = I

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

26、l = red)1、in flue ncePlot() : car包:离群点、杠杆值和强影响点的信息整合到一幅图形中例:in flue ncePlot(fit,= ide ntify, mai n = In flue nce Plot,sub = Circle size is proportial to Cooks Dista nce)纵坐标超过+2或小于?2的州可被认为是离群点,水平轴超过或的州有高杠杆值(通常为预测值的组合)。圆圈大小与影响成比例,圆圈很大的点可能是对模型参数的估计造成的不成比例影响的强影响点 变量变换1、 powerTransform():car包:函数通过 入的最大似然

27、估计来正态化变量x。例: library(car) summary(powerTransform(states$Murder)2、 boxTidwell():car 包:通过获得预测变量幂数的最大似然估计来改善线性关系例:library(car)boxTidwell(Murder Population + Illiteracy, data = states)模型比较1、anova() :基础包:比较两个嵌套模型的拟合优度例: fitl - lm(Murder Populati on + Illiteracy + In come +Frost, data = states)fit2 - lm(M

28、urder Population + Illiteracy, data = states)anova(fit2, fit1)2、AIC() :AIC 值越小的模型 (可以不嵌套 )要优先选择,它说明模型用较少的参数获得了足够的拟合度。例: fit1 - lm(Murder Populati on + Illiteracy + In come +Frost, data = states)fit2 - lm(Murder Population + Illiteracy, data = states)AIC(fit1, fit2)变量选择1、stepAIC() :MASS 包:逐步回归模型例: li

29、brary(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, nbest = 4)plot(leaps, scale = adjr2)交叉验证1、crossval() 函数

30、: bootstrap 包:实现 k 重交叉验证例: shrinkage - function(fit, k = 10) require(bootstrap)# define functions- function(x, y) lsfit(x, y)- function(fit, x) cbind(1, x) %*% fit$coef# matrix of predictorsx - fit$model, 2:ncol(fit$model)# vector of predicted valuesy - fit$model, 1results - crossval(x, y, , , ngrou

31、p = k)r2 - cor(y, fit$A2r2cv - cor(y, results$A2cat(Original R-square =, r2, n)cat(k, Fold Cross-Validated R-square =, r2cv, n)cat(Change =, r2 - r2cv, n)2、shrinkage() : 交叉验证 ;R 平方减少得越少,预测则越精确。例:fit - lm(Murder Populati on + In come + Illiteracy +Frost, data = states)shrinkage(fit)相对重要性1、 scale():将数

32、据标准化为均值为0、标准差为1的数据集,这样用 R回归即可获得标准化的回归系数。注意,scale()函数返回的是一个矩阵,而lm()函数要求一个数据框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)eve

33、c - svd$vectorsev - svd$valuesdelta - diag(sqrt(ev)# correlations between original predictors and new orthogonal variableslambda - evec %*% delta %*% t(evec)lambdasq - lambdaA2# regression coefficients of Y on orthogonal variablesbeta - solve(lambda) %*% rxyrsquare - colSums(betaA2)rawwgt - lambdasq

34、 %*% betaA2import - (rawwgt/rsquare) * 100lbls - names(fit$model2:nvar) rownames(import) - lbls colnames(import) - Weights# plot resultsbarplot(t(import), = lbls, ylab = % of R-Square,xlab = Predictor Variables, main = Relative Importance of Predictor Variables,sub = paste(R-Square = , round(rsquare

35、, digits = 3),.)return(import)# using 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 =

36、mean) aggregate(response, by = list(trt), 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 包: 多重均值比较 例: library(multcomp)par(mar = c(5, 4, 6, 2)tuk - g

温馨提示

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

评论

0/150

提交评论