我试图以各种方式处理这个循环,但我遇到的任何网站都没有帮助我解决我的问题。我对 R 比较陌生,可以在我的代码出错的地方使用一些指导。我正在尝试运行 for 循环以重复此序列 1000 次:创建两组随机数字“lakea”和“lakeb”,在两个湖上运行 t 检验,并存储该 t 的结果 p 值- 在空容器中测试(显着或不显着)(结果)。我觉得我很接近,但由于某种原因无法重复该过程。
result<-vector("list",1000) #empty container to fill
for(i in 1:1000){
lakea<-rnorm(30,100,15)
lakeb<-rnorm(30,110,15)
pval<-t.test(lakea,lakeb)$p.value #stores pvalues from the t-test
if(pval[i] <= 0.05) result[[i]]<-"stat sig" else #if statement to name output
result[[i]]<-"not sig"
}
result
循环产生 1 个实际结果和我想要的结果(“stat sig”或“not sig”),然后是容器内的 999 个 NULL 对象。
我还尝试将容器的代码更改为:
result<-vector("character",length(1000))
for(i in length(result)){
...
这给出了类似的结果,但在比第一个代码更少的行中创建了一个长向量(仍然只有第一个具有预期输出的对象)。我还尝试将容器代码更改为:
result<-c(NULL,length(1000))
for(i in result){
...
这给了我“stat sig”或“not sig”的第一个输出,但没有别的。在此先感谢您的帮助!