语言模拟实验"/>
实用代码之R语言模拟实验
~~~随机数生成:n1 <- rnorm(n,mean = 20,sd = 3) ##生成正态随机数
~~~统计学方法:
t检验---独立样本的t检验: t.test(y ~ x,data) ##y数值型,x二分类
t.test(y1,y1) ##y1和y2为数值型向量
非独立样本的t检验
方差分析---aov(respense~trt) ##单因素方差分析
卡方---chisq.test() ##卡方独立性检验,例:chisq.test(mytable)
chisq.test(table(mydata$A,mydata$erfenlei)
确切概率法---fisher.test(table(mydata$A,mydata$B)
wilcoxon秩和检验--- wilcox.test(y ~ x,data) ##y数值型,x二分类
wilcox.test(y1,y2) ##y1和y2是各组的结果变量
例如:wilcox.test(Prob~So,data = UScrime)
三组比较:可用方差分析
Permutation:(1)与参数方法类似,计算观测数据的t统计量,称为t0
- 将10个得分放在一组
- 10个得分随机分配至A、B两组
- 计算并记录新观测的t统计量
- 对每一种可能随机分配重复(3)~(4)步骤,此处有252种可能的分配组合
- 将252个t统计量按升序排列,
- 如果t0落在经验分布95%部分的外面,则在0.05的显著性水平下拒绝认为两组总体均值相等的零假设
Bootstrap:(1)从样本中随机抽取10个观测,抽样后再放回。
- 计算并记录样本均值
- 重复1和2一千次
- 将1000个样本均值从小到大排序 order( )
- 找出样本均值2.5%和97.5%的分位点
单因素方差分析例子: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)
plotmeans(response ~ trt,xlab = “”,ylab = “”,main = “”)
detach(cholesterol)
TukeyHSD(fit) ##多重比较
~~~结果:
比较均数,拒绝H0次数:ttest <- t.test(a,b)
count = 0
if(ttest$p.value<alpha)
count = count+1
return(count) #部分核心代码
检验效能:return(count/1000)
可信区间包含总体均数的次数:
a <- rnorm(n,mean=mean1,sd=sd1)
b <- mean(a)
tmpt <- sd1/sqrt(n)*qnorm(1-alpha/2);df <- n
u <- b-tmpt
l <- b+tmpt
if(u>mean1)
count <- count+1
if(l<mean1)
count <- count+1
return(count)
更多推荐
实用代码之R语言模拟实验
发布评论