Я пытаюсь создать матрицу, в которой каждая строка представляет данные из вектора, полученного через цикл for. Мой код ниже приводит только к одному числу в финальной матрице, когда предполагается, что он имеет 5 строк с 60 столбцами. Каждый вектор gene_state должен иметь длину 60, а цель состоит в том, чтобы собрать 5 из них вместе в матрице N = 5.Сохранение результатов вложенного цикла в матрицу в R
set.seed(1)
N <- 5
t <- 60
myMatrix <- matrix(0, nrow=N, ncol=t)
for(i in 1:N){
gene_state <- 1
for(j in 1:t){
randomNum <- runif(1) #runif(1) randomly generates a number between 0 and 1
if(gene_state == 1){ # if the gene_state is at 1
if(randomNum < 0.1){ # AND if the random number generated is less than 0.1
gene_state <- 2 # switch the state to 2
} else {
gene_state <- 1 # otherwise keep the state at 1
}
} else { # if the gene_state is at 2
if(randomNum < 0.25){ # and if the random number is less than 0.25
gene_state <- 1 # switch the state to 1
}else{
gene_state <- 2 # otherwise keep the state at 2
}
}
myMatrix[i,j] <- gene_state
}
}
Я получаю матрицу 5x60 – rawr
@PaulR Пожалуйста, дайте мне знать, что ваши рассуждения удалить 'для-loop' тег из этого вопроса. – Uwe
@UweBlock: в этом контексте он не казался особенно полезным тегом - я чувствовал, что добавление отсутствующего тега 'r', вероятно, было очень важным, теги' matrix' и 'vector' были пограничными, поэтому я оставил их in, но тег 'for-loop' кажется бесполезным. Это просто мое мнение, хотя, не стесняйтесь добавлять его обратно, если вы считаете, что оно имеет какое-то значение, –