2016-05-13 2 views
1

Я создал эту таблицу.запустить 100 моделей сразу, а не вручную один за другим

dat <- matrix(rbinom(6*100, 6, 0.5), ncol=6) 

затем используйте одну строку из таблицы, чтобы заполнить инструкцию «размер» для обучения модели.

nn.sizes <- dat[1,] 
    sample.number <- length(dat2[[1]][,1]) 
    nns <- lapply(1:length(dat2), function(i){nn <- nnet(dat2[[i]][1:(sample.number),], dat3[[i]][(twindow+1):(length(dat3[[i]]))],size=nn.sizes[i], linout = TRUE)}) 

мой вопрос в том, что я знаю, как это сделать вручную один за другим, это значит, что я должен бежать 100 раз. Есть ли способ запустить его один раз

+0

Оберните это в 'apply (dat, 1, .....)' и он будет запускаться по строкам для каждой строки, пока не закончите строки. – Gopala

ответ

2

Вы можете использовать replicate() и создать только один вектор для каждой репликации, вместо того, чтобы перебирать матрицу. Это просто зацикливает блок выражения (код между скобками {}), оценивая его 100 раз.

replicate(100, { 
    nn.sizes <- rbinom(6, 6, 0.5) 

    <the rest of your code here> 

}) 
Смежные вопросы