




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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
2、, na.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包:返回变量和观测的数量、缺失值和唯一值的数目、平均
3、值、分位数,以及五个最大的值和五个最小的值。 例: library(Hmisc) describe(mtcarsvars)4、stat.desc():pastecs包若basic=TRUE(默认值),则计算其中所有值、空值、缺失值的数量,以及最小值、最 大值、值域,还有总和。若desc=TRUE(同样也是默认值),则计算中位数、平均数、平均数的标准误、平均数置信度为95%的置信区间、方差、标准差以及变异系数。若norm=TRUE(不是默认的),则返回正态分布统计量,包括偏度和峰度(以及它们的统计显著程度)和ShapiroWilk正态检验结果。这里使用了p值来计算平均数的置信区间(默认置信度为0
4、.95:例: library(pastecs) 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)
5、by(mtcarsvars, mtcars$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、describe.by():doBy包(describe.by()函数不允许指定任意函数,)例:library(psych)describe.by(mtcarsvars, mtcars$am)5、reshape包分组:(重铸和融合)例:library(res
6、hape)dstats <- function(x) (c(n = 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(Arthri
7、tis, table(Improved)Mytable2、prop.table():频数转化为比例值prop.table(mytable)3、prop.table()*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)pr
8、op.table(mytable, 1)列和与列比例margin.table(mytable, 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
9、$Treatment, Arthritis$Improved)多维列联表1、table()和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,
10、c(1, 2)ftable(addmargins(prop.table(mytable, 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、Fish
11、er精确检验:fisher.test() 例:mytable <- xtabs(Treatment+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+Impro
12、ved, data=Arthritis)assocstats(mytable)2、cor():函数可以计算这三种相关系数,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("
13、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用以指定要计算的相关类型("pearson"、"kendall"或
14、"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(sta
15、tes, use = "complete")3、 pcor.test():psych包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 =
16、 TRUE)组间差异的非参数检验两组的比较:1、wilcox.test(yx,data) :评估观测是否是从相同的概率分布中抽得例:with(UScrime, 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)多于
17、两组的比较:1、 kruskal.test(yA,data):各组独立例:states <- as.data.frame(cbind(state.region, state.x77)kruskal.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(
18、cbind(class, var)rm(class,var)library(npmc)summary(npmc(mydata), type = "BF")aggregate(mydata, by = list(mydata$class), median)回归用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。1、 lm(): 拟合回归模型 lm(yx1+x2+x3,data) 简单线性回归1、 lm(): (data是数据框) 例:fit <- lm(weight height, data = women)summary
19、(fit)women$weightfitted(fit)residuals(fit)plot(women$height, women$weight, main = "Women Age 30-39", xlab = "Height (in inches)", ylab = "Weight (in pounds)")多项式回归例:fit2 <- lm(weight height + I(height2), data = women)summary(fit2)plot(women$height, women$weight, main
20、 = "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, spread = FALSE, lty.smooth = 2, pch = 19, main = "Women Age 30-39", xlab
21、 = "Height (inches)", ylab = "Weight (lbs.)")多元线性回归1、 scatterplotMatrix():car包scatterplotMatrix()函数默认在非对角线区域绘制变量间的散点图, 并添加平滑 (loess)和线性拟合曲线。对角线区域绘制每个变量的密度图和轴须图。例:fit <- lm(Murder Population + Illiteracy + Income + Frost, data = states)有交互项的多元线性回归例:fit <- lm(mpg hp + wt + hp
22、: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():求模型参数的置信区间 例:fit <- lm(Murde
23、r 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)gvlma包提供了对所有
24、线性模型假设进行检验的方法 检验正态性:4、qqPlot():car包:学生化残差(studentized residual,也称学生化删除残差或折叠化残差)例:library(car)fit <- lm(Murder Population + Illiteracy + Income + Frost, data = states)qqPlot(fit, labels = s(states), id.method = "identify" ,simulate = TRUE, main = "Q-Q Plot")注:id.method
25、= "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, freq=FALSE, xlab="Studen
26、tized 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( "Norma
27、l Curve", "Kernel Density Curve"), lty=1:2, col=c("blue","red"), cex=.7)residplot(fit)误差的独立性8、 durbinWatsonTest() :验证独立性例:durbinWatsonTest(fit)验证线性9、crPlots():car包成分残差图也称偏残差图 例:crPlots(fit)同方差性 (car包的两个函数)10、ncvTest() :生成一个计分检验,零假设为误差方差不变,备择假设为误差方差随着拟合值水平的变化而变化。若检验
28、显著,则说明存在异方差性11、spreadLevelPlot():添加了最佳拟合曲线的散点图,展示标准化残差绝对值与拟合值的关系。 例:library(car) ncvTest(fit) spreadLevelPlot(fit)线性模型假设的综合验证1、 gvlma() :gvlma包:线性模型假设进行综合验证,同时还能做偏斜度、峰度和异方差性的评价 例:library(gvlma) gvmodel <- gvlma(fit) summary(gvmodel)多重共线性1、 vif() :car包 :函数提供VIF值, >2就表明存在多重共线性问题 例:vif(fit)sqrt(v
29、if(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(fit) plot(hatvalues(fit), main = "Index Plot of Hat Value
30、s") 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 = 4, cook.levels = cutoff)abline
31、(h = cutoff, lty = 2, col = "red")1、 influencePlot():car包:离群点、杠杆值和强影响点的信息整合到一幅图形中 例:influencePlot(fit, id.method = "identify", main = "Influence Plot", sub = "Circle size is proportial to Cook's Distance")纵坐标超过+2或小于-2的州可被认为是离群点,水平轴超过0.2或0.3的州有高杠杆值(通常为预测值的组
32、合)。圆圈大小与影响成比例,圆圈很大的点可能是对模型参数的估计造成的不成比例影响的强影响点变量变换1、powerTransform():car包:函数通过 的最大似然估计来正态化变量。例:library(car)summary(powerTransform(states$Murder)2、 boxTidwell():car包:通过获得预测变量幂数的最大似然估计来改善线性关系 例:library(car)boxTidwell(Murder Population + Illiteracy, data = states)模型比较1、 anova():基础包:比较两个嵌套模型的拟合优度 例:fit1
33、<- lm(Murder Population + 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(Murde
34、r 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(leaps)leaps <- regsubsets(Murder Pop
35、ulation + 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
36、on(fit, x) cbind(1, x) %*% fit$coef # matrix of predictors x <- fit$model, 2:ncol(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("Origin
37、al R-square =", r2, "n") cat(k, "Fold 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
38、、 scale():将数据标准化为均值为0、标准差为1的数据集,这样用R回归即可获得标准化的回归系数。注意, scale()函数返回的是一个矩阵,而lm()函数要求一个数据框 例:zstates <- as.data.frame(scale(states)zfit <- lm(Murder Population + Income + Illiteracy + Frost, data = zstates)coef(zfit)2、 relweights() :相对权重 例:relweights <- function(fit, .) R <- cor(fit$model)
39、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 variables lambda <- evec %*% delta %*% t(evec) lambdasq <- lambda2 # regress
40、ion 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) <- "Weights" # plot results barp
41、lot(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 Populati
42、on + 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), FUN = sd)fit <- aov(resp
43、onse 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,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 排球专修试题
- 2024年系统规划师考试试题及答案的探讨方向
- 2024年图书管理员求职指导试题及答案
- 2025年临床执业医师考试例题分析试题及答案
- 7权力受到制约和监督 教学设计-2024-2025学年道德与法治六年级上册统编版
- 健康管理师考试时间分配技巧试题及答案
- 2025-2030中国厨柜行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国危货运输行业市场发展分析及前景预测与战略规划研究报告
- C2C网站的创业计划书
- 2025-2030中国医药棉纱行业市场现状供需分析及投资评估规划分析研究报告
- 《中医学》泄泻-课件
- 固体饮料生产许可证审查细则
- 2022年电子元器件贴片及插件焊接检验规范
- 周口市医疗保障门诊特定药品保险申请表
- 可下载打印的公司章程
- 三年级下册综合实践活动课件-水果拼盘 全国通用(共15张PPT)
- 污水池内防腐施工方案
- 海南省省直辖县级各县区乡镇行政村村庄村名明细居民村民委员会
- 简约喜庆元宵节介绍模板 教学课件
- 西藏林芝嘉园小区项目可研(可研发)
- summary-writing-概要写作-优质课件
评论
0/150
提交评论