我有一列数据,我从中抽取 50% 的随机子样本。我正在运行一个双边 ks 测试,以将数据的分布50%
与 100% 的数据进行比较,以查看分布是否仍然显着拟合。
为了实现我的目标,我想将其作为 1000 个循环运行,以从 1000 个随机子样本中获得平均 p 值。这行代码为我的样本的 50% 的随机子集提供了一个 p 值:
dat50=dat[sample(nrow(dat),replace=F,size=0.50*nrow(dat)),]
ks.test(dat[,1],dat50[,1], alternative="two.sided")
我需要一行代码运行 1000 次,每次将结果(不同的)p 值保存在我可以平均的列中。我试图开始工作的代码如下所示:
x <- numeric(100)
for (i in 1:100){
x<- ks.test(dat[,7],dat50[,7], alternative="two.sided")
x<-x$p.value
}
但是,这不存储多个 p 值
也试过这个:
get.p.value <- function(df1, df2) {
x <- rf(5, df1=df1, df2=df2)
p.value <- ks.test(dat[,6],dat50[,6], alternative="two.sided")$p.value
}
replicate (2000, get.p.value(df1 = 5, df2 = 10))
我希望这很清楚,我将不胜感激任何帮助解决这个问题!
问