126.如何做配对t检验?
参考t.test()中的paired参数。
1
require(stats)
##
Student’s
paired
t?test
3
t.test(extra?group,data=sleep,paired=TRUE)
extra0.7-0.6···4.63.4
group11···22
这里需要注意的是数据的录入形式(主要区别于SPSS):事实上如果你熟悉统计检验的话,你完全可以使用
1
apropos(\)
来返回所有关于“检验”的信息。比如一些常用的检验:
bartlett.testchisq.test?sher.testkruskal.testpairwise.t.test
var.test
方差齐次性检验
χ2检验
Fisher精确检验
Kruskal-Wallis秩和检验均值的多重比较方差比检验
binom.testcor.testfriedman.testmcnemar.test
PP.testwilcox.test二项检验相关性检验
Friedman秩和检验McNemar检验
Phillips-Perron检验Wilcoxon秩和检验
尽情享用吧!
127.R如何做结构方程模型?
参考sem包。
128.多项式回归应该使用什么函数?
使用I(),例如:
1
lm(y?x+I(x?2)+I(x?3))129.如何使用方差分析(ANOVA)?
方差分析同线性回归模型很类似,毕竟它们都是线性模型。最简单实现方差分析的函数为aov(),通过规定函数内公式形式来指定方差分析类型:
方差分析
aov(x?a)aov(x?a+b)aov(x?a+b+a:b)aov(x?a*b)
单因素方差分析
没有交互作用的双因素方差分析有交互作用的双因素方差分析
同上
30
130.如何求解没有常数项的线性回归模型?
只需在公式中引入0即可:
1
result
参考con?nt函数,glm模型和nls模型可参考MASS包中的con?nt.glm和con?nt.nls函数。
1
fit
logistic回归是关于响应变量为0–1定性变量的广义线性回归问题,这里需要使用广义线性模型glm()函数,且广义线性模型的分布族为二项分布。
广义线性模型中的常用分布族
3
分布
高斯(Gaussian)a二项(Binomial)泊松(Poission)
a正态(Normal)
函数
E(y)=xTβE(y)=
E(y)=exp(xβ)
exp(xβ)
1+exp(xTβ)T
T
模型普通线性模型
Logistic模型和概率单位(probit)模型
对数线性模型
高斯(正态)分布族的广义线性模型事实上同线性模型是相同的,即
1
fit1
同线性模型
1
fit1
得到的结论是一致的,当然效率会差很多。
133.如何使用正交多项式回归?
我们考虑回归方程:
k
yi=β0+β1xi+β2x2i+...+βkxi,i=1,2,...,n,
当多项式的次数k比较大时,x,x2,...,xk会出现线性相关问题。故需要使用正交多项式回归来克
服这方面的缺点。在R中,使用poly()函数:
1
(z
参考hat(),hatvalues()函数。
135.D-W检验在哪里?
31
car包中的durbin.watson函数,lmtest包中的dwtest函数。
1
help.search(\)
136.如何求Spearman等级(或kendall)相关系数
cor()函数默认为求出Person相关系数,修改其method参数即可求得Kendallτ和Spearman秩
相关系数。
1
cor(longley,method=\)
名称
PearsonKendallτSpearman
方法线性
协同样本秩
用途(条件)正态总体假定非参数检验非参数检验
137.如何做DecisionTree?
基于树型方法的模型(Tree-basedmodel)并不被统计学背景的研究者所熟悉,但它在其他领域却时常被广泛应用。下面是ModernAppliedStatisticsWithS中的例子,需要加载rpart包。
1
library(rpart)set.seed(123)
cpus.rp
3
5
假设??t是一组均值为0,方差为σ2的不相关的序列,那么我们定义q阶滑动平均模型为
Xt=
p阶自回归模型:
Xt=
q??0p??1
βj??t?j
αiXt?i+??t
定义ARMA(p,q)过程为
Xt=
p??1
αiXt?i+
q??0
βj??t?j
我们将加入季节因素的arma模型称为arima模型,R中使用arima(x,order=c(0,0,0),seasonal=list(order=c(0,0,0))对模型进行拟合:
1
require(graphics)
(fit1
32
3
139.box-cox变换?MASS包中的
1
boxcox()
函数。
140.检验异方差的Breusch-Pagan检验?
lmtest包中的bptest()函数,或者利用car包中的ncv.test()函数141.如何做判别分析?
参考MASS包中的lda()函数(FisherLinearDiscriminantAnalysis)和qda()函数。
142.计算OLS有没有简便方法?
有,可以使用函数qr.solve(),
1
qr.solve(X,y)
等价于(X??X)?1X??y
143.如何进行典型相关分析?
典型相关分析是用于研究两组随机变量之间的相关性的一种统计方法。R提供了cancor()函数进行相关计算。
1
pop
?(2:3)]
cancor(pop,oec)144.如何使用R做生存分析?
3
需要加载survival包。
1
#fitaKaplan?Meierandplotit
fit
3
plot(fit)
#
life
table
5
cbind(fit$time,fit$n.risk,fit$n.event,fit$surv)
注意surv?t函数中分析方法type中有“kaplan-meier”,“?eming-harrington”,“fh2”三种方法可以选择。
§J其他
145.R可以使用网页来显示结果么?
33
可以。包Rpad提供基于同R的网页接口,假设已经安装了包Rpad,可以在本地查看Rpad的效果:
1
library(Rpad)Rpad()
#
enjoy
it
146.R有类似于SPSS的界面么?
有!安装包Rcmdr,加载包后,使用命令
Commander()
调出可供使用的图形使用界面。由于这个图形使用界面需要若干基础包外的其他函数,故还需要包car、e?ects、abind、lmtest、multcomp、relimp、RODBC、rgl的支持。
147.怎样来计算函数运行使用时间?
使用system.time()。proc.time()可以获得R进程存在的时间,system.time()通过调用两次proc.time()来计算函数运行的时间。
148.在R中如何处理地图数据?
R提供了maps和mapdata两个包来绘制地图,其中mapdata提供了中国地图的相关信息:
1
library(mapdata)map(\)
不过可惜,这种方法得到的中国地图没有重庆的行政区划,且各省的名称都是用数字拼装而成,不能用map包中的函数像对
map(\)
一样进行进一步加工。
不过如果你熟悉地理数据,那么maptools包将是一个不错的选择。她可以读取、处理空间对象,且提供了同PBSmapping,spatstat,maps,RArcInfo,Statatmap,WinBUGS,Mondrian这类包的封装接口。
149.Sweave是用来做什么的?
Sweave提供了一种为“混排TEX文本和S编码”生成文档的机制。单个的Sweave文档中既包含TEX文本又包含S编码,通过编译最终形成的文档包含:?TEX文档的编译输出;?S编码和(或);
?S编码的代码输出(文本、图形)。
或参考附录A:Sweave的实例。如果想了解更多,请参考SweaveUserManual,它的文档形成过程:
34