R语言方法总结Word下载.docx
《R语言方法总结Word下载.docx》由会员分享,可在线阅读,更多相关《R语言方法总结Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
-length(x)
s<
-sd(x)
skew<
-sum((x-m)^3/s^3)/n
dstats<
-function(x)(c(mean=mean(x),sd=sd(x)))
by(mtcars[vars],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(mtcars[vars],mtcars$am)
5、reshape包分组:
(重铸和融合)
library(reshape)
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(Arthritis,table(Improved))
Mytable
2、prop.table():
频数转化为比例值
prop.table(mytable)
3、prop.table()*100:
转化为百分比
prop.table(mytable)*100
二维列联表
4、table(A,B)/xtabs(~A+b,data=mydata)
-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)
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、table()和xtabs():
都可以基于三个或更多的类别型变量生成多维列联表。
2、ftable():
-xtabs(~Treatment+Sex+Improved,data=Arthritis)
mytable
ftable(mytable)
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
独立检验
1、卡方独立性检验:
chisq.test()
library(vcd)
-xtabs(~Treatment+Improved,data=Arthritis)
chisq.test(mytable)
-xtabs(~Improved+Sex,data=Arthritis)
2、Fisher精确检验:
fisher.test()
fisher.test(mytable)
3、Cochran-Mantel—Haenszel检验:
mantelhaen.test()
-xtabs(~Treatment+Improved+Sex,data=Arthritis)
mantelhaen.test(mytable)
相关性度量
1、assocstats():
assocstats(mytable)
2、cor():
函数可以计算这三种相关系数,
3、cov():
函数可用来计算协方差
states<
-state.x77[,1:
6]
cov(states)
cor(states)
cor(states,method="
spearman"
)
x<
-states[,c("
Population"
Income"
Illiteracy"
HSGrad"
)]
y<
LifeExp"
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"
)当研究的假设为总体的相关系数小于0时,请使用alternative=
。
在研究的假设为总体的相关系数大于0时,应使用alternative="
在默认情况下,假设为alternative="
(总体相关系数不等于0)。
cor.test(states[,3],states[,5])
2、corr.test():
可以为Pearson、Spearman或Kendall相关计算相关矩阵和显著性水平。
corr.test(states,use="
complete"
3、pcor.test():
psych包
t检验
1、t.test(y~x,data)(独立样本)
library(MASS)
t.test(Prob~So,data=UScrime)
2、t.test(y1,y2,paired=TRUE)(非独立)
sapply(UScrime[c("
U1"
U2"
)],function(x)(c(mean=mean(x),
sd=sd(x))))
with(UScrime,t.test(U1,U2,paired=TRUE))
组间差异的非参数检验
两组的比较:
1、wilcox.test(y~x,data):
评估观测是否是从相同的概率分布中抽得
with(UScrime,by(Prob,So,median))
wilcox.test(Prob~So,data=UScrime)
2、wilcox.test(y1,y2,paried=TRUE):
它适用于两组成对数据和无法保证正态性假设的情境。
)],median)
with(UScrime,wilcox.test(U1,U2,paired=TRUE))
多于两组的比较:
1、kruskal.test(y~A,data):
各组独立
-as.data.frame(cbind(state.region,state.x77))
kruskal.test(Illiteracy~state.region,data=states)
2、friedman.test(y~A|B,data):
各组不独立
非参数多组比较:
1、npmc():
npmc包
class<
-state.region
var<
-state.x77[,c("
mydata<
-as.data.frame(cbind(class,var))
rm(class,var)
library(npmc)
summary(npmc(mydata),type="
BF"
aggregate(mydata,by=list(mydata$class),median)
回归
用一个或多个预测变量(也称自变量或解释变量)来预测响应变量(也称因变量、效标变量或结果变量)的方法。
1、lm():
拟合回归模型lm(y~x1+x2+x3,data)
简单线性回归
(data是数据框)
fit<
-lm(weight~height,data=women)
summary(fit)
women$weight
fitted(fit)
residuals(fit)
plot(women$height,women$weight,main="
WomenAge30-39"
xlab="
Height(ininches)"
ylab="
Weight(inpounds)"
多项式回归
fit2<
-lm(weight~height+I(height^2),data=women)
summary(fit2)