Мне нужно выполнить следующую работу: создать случайную матрицу, применить линейную модель, затем перетасовать матрицу, применить линейную модель, затем снова перетасовать матрицу и применить линейную модель, .... , в 20 раз и каждый раз мне нужно сохранить значение p. Эта работа должна выполняться в 1000 раз. Я написал следующий фрагмент кода, но я не могу запустить цикл for в цикле. Вот что я написал:Циклы тестов на перестановку
B=1000
n=100
b =20
my.seed=1
my.intercept<-0
my.slope<-1
res <- data.frame(matrix(ncol = 4, nrow = B))
colnames(res) <- c("Estimate", "St_Err", "t_val", "P_val")
for (i in 1:B)
for (j in 1:b){
x1=rbinom(n, 1, 0.5)
e=rnorm(n, 1, 1)
my_model=lm(y~x1)
y <- true.intercept + true.slope*x1+e
res[i,] <- data.frame(summary(lm(y ~x1))$coefficients)
}
}
Я не знаю, как сохранить результаты реализации цикла на J, а затем сохранить р значения 20 перестановок на полных 1000 перестановок, чтобы в конце концов, чтобы иметь наконец, data.frame с 20 строками (из-за начальной матрицы перетасовывается 20 раз) и 1000 столбцов (потому что перестановки 1000)
Может ли кто-нибудь мне помочь?
В вашей первой петле отсутствует отверстие {скобка. – Thomas
[bootstrap] (http://cran.r-project.org/web/packages/bootstrap/bootstrap.pdf)? – zx8754
@Thomas или удалить последнюю закрытие '}' скобки. – zx8754