For loop ifelse并返回for循环

For loop ifelse并返回for循环,for-loop,if-statement,return,For Loop,If Statement,Return,我的语法需要帮助 library(e1071) priori <- function (I, N, M) { a <- as.matrix(runif(I, min = 0.65, max = 1.70)) b <- as.matrix(runif(I, min = -2.80, max = 2.80)) c <- as.matrix(runif(I, min = 0.00, max = 0.35)) k <- c(rnorm(N*20/100, 0

我的语法需要帮助

library(e1071)
priori <- function (I, N, M) {
  a <- as.matrix(runif(I, min = 0.65, max = 1.70))
  b <- as.matrix(runif(I, min = -2.80, max = 2.80))
  c <- as.matrix(runif(I, min = 0.00, max = 0.35))
  k <- c(rnorm(N*20/100, 0, 1), rnorm(N*80/100,0, 0.01))
  M <- cbind(b,a,c)
data <- as.data.frame(rmvlogis(N, M, IRT = FALSE, link = "logit", z.vals = k))
print(data)}
库(e1071)
先验的
priori.list <- vector("list", 3)
names(priori.list) <- paste0("L", seq_along(priori.list))
priori.sum.list <- vector("list", 3)
for (i in 1:3) {
  for (j in 1:100) {
  priori.list$L1[[j]] <- priori(10,100, M="2PL")
  priori.list$L2[[j]] <- priori(20,500, M="2PL")
  priori.list$L3[[j]] <- priori(40,1000,M="3PL")
  priori.sum.list [[i]][[j]] <- rowSums(priori.list[[i]][[j]])
  print(kurtosis(priori.sum.list[[i]][[j]]))
  if(skewness(priori.sum.list[[i]][[j]])>=-1 | skewness(priori.sum.list[[i]][[j]]>=1)
     & kurtosis(priori.sum.list[[i]][[j]])>=-1 | kurtosis(priori.sum.list[[i]][[j]]>=1))
  {NA}
  else
  {return(j=j-1)}}}