Мне нужно суммировать смежные ячейки для игры жизни Конвея. У меня есть матрица 20x20, и мне нужно вычислить соседей, чтобы применить правила игры.Сумма смежных ячеек для жизни жизни Конвея
Первая часть сценария я написал, как этого
generar_grilla<-function(cant, prob_vida){
grilla<-matrix(ncol=cant, nrow=cant)
grilla[i]<-rbinom(cant,1,prob_vida)
return(grilla)
}
Тогда я посмотрел в соответствующих должности некоторых правил для вычисления соседей, и я нашел это:
vecino<-function(grilla,j,k) {
cant <- nrow(grilla)
count <- 0
if(j > 1) {
count <- count + grilla[j-1, k]
if (k > 1) count <- count + grilla[j-1, k-1]
if (k < cant) count <- count + grilla[j-1, k+1]
}
if(j < cant) {
count <- count + grilla[j+1,k]
if (k > 1) count <- count + grilla[j+1, k-1]
if (k < cant) count <- count + grilla[j+1, k+1]
}
if(k > 1) count <- count + grilla[j, k-1]
if(k < cant) count <- count + grilla[j, k+1]
count
}
Когда я запускаю это часть сценария с примером:
vecino(grilla,3,5)
Я получаю эту ошибку:
Ошибка в grilla [J - 1, к]: неправильное число измерений
полный сценарий игры Конвея можно посмотреть здесь: https://www.r-bloggers.com/conway%E2%80%99s-game-of-life-in-r-with-ggplot2-and-animation/
Заранее спасибо