

Rでライフゲームを1世代先に進める関数を作成しました。関数作成時にはエラーは発生しませんでしたが、因数として行列を与え実行するとエラーが発生しました。エラーの原因を教えて頂けたら嬉しいです。
作成した関数
Life.Game.One.Step <- function(Space) { #因数として行列を読み込む
n <- dim(Space)
Space.ng <- Space #次世代の状態を格納する行列を生成
Space.counts <- Space #周囲の生きているセルの数を数え上え、それを格納する行列を生成
Space.counts[1,1] <- Space[1,2]+Space[2,1]+Space[2,2] #4隅の生きているセルの数を数え上げる
Space.counts[1,n[2]] <- Space[1,n[2]-1]+Space[2,n[2]-1]+Space[2,n[2]]
Space.counts[n[1],1] <- Space[n[1]-1,1]+Space[n[1]-1,2]+Space[n[1],2]
Space.counts[n[1],n[2]] <- Space[n[1]-1,n[2]-1]+Space[n[1]-1,n[2]]
+Space[n[1],n[2]-1]
for( j in c(2:n[2]-1) ) { #4隅を除いた1行目と最終行の周りの生きているセルの数を数え上げる
Space.counts[1,j] <- Space[1,j-1]+Space[1,j+1]+Space[2,j-1]+Space[2,j]+Space[2,j+1]
Space.counts[n[1],j] <- Space[n[1]-1,j-1]+Space[n[1]-1,j]+Space[n[1]-1,j+1]+Space[n[1],j-1]+Space[n[1],j+1]
}
for( i in c(2:n[1]-1) ) { #4隅を除いた1列目と最終列の周囲の生きているセルの数を数え上げる
Space.counts[i,1] <- Space[i-1,1]+Space[i-1,2]+Space[i,2]+Space[i+1,1]+Space[i+1,2]
Space.counts[i,n[2]] <- Space[i-1,n[2]-1]+Space[i-1,n[2]]+Space[i,n[2]-1]+Space[i+1,n[2]-1]+Space[i+1,n[2]]
}
for ( i in c(2:n[1]-1) ) {
for ( j in c(2:n[2]-1) ) {
Space.counts[i,j] <- Space[i-1,j-1]+Space[i-1,j]+Space[i-1,j+1]
+Space[i,j-1]+Space[i,j+1]
+Space[i+1,j-1]+Space[i+1,j]+Space[i+1,j+1]
}
}
for ( i in c(1:n[1]) ) { #Space.count[i,j]の値に応じて
for( j in c(1:n[2]) ) { #Space.ng[i,j]に次世代の状態を代入していく
if (Space.count[i,j]<2) {
Space.ng[i,j] <- 0
} else if(Space.count[i,j]==3) {
Space.ng[i,j] <- 1
} else if(Space.count[i,j]>3) {
Space.ng[i,j] <- 0
}
}
}
return(Space.ng) #返り値として1世代先の行列を返す
}
関数に行列を因数として実行すると以下のようなエラーメッセジーが生成されました。
> Life.Game.One.Step(Life.Space.A)
以下にエラー Space.counts[1, j] <- Space[1, j - 1] + Space[1, j + 1] + Space[2, :
replacement(置き換え)の長さが0です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンで行列はどう書けばいい?
-
mathematicaの行列の掛け算に関...
-
wordで行列の書き方
-
行列のキーボードでの表記
-
行列について
-
線形代数についての質問です。...
-
3x3行列の固有値の求め方
-
固有値の値について
-
数学の関数極限の問題を教えて...
-
テイラー展開とべき級数展開の...
-
極値の判定でヘッシアンの値が...
-
三角関数の加法定理発見のきっかけ
-
不定積分です。よろしくお願い...
-
固有値と固有ベクトルが既知の...
-
【至急】数llの三角関数の合成...
-
2変数関数の鞍点の判定について
-
sinを使った方程式
-
テイラー展開とマクローリン展...
-
ジョルダンの補助定理
-
臨界点でHessianが0の時の極値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンで行列はどう書けばいい?
-
写真内の行列同士の間の点線はw...
-
共分散行列と分散共分散行列の...
-
wordで行列の書き方
-
WORDのMicrosoft数式3.0の3×3以...
-
もしレジの行列に気付かずに割...
-
Excelファイルの容量が更新する...
-
この行列の階数の求め方を教え...
-
余因子行列、随伴行列
-
線形代数についての質問です。...
-
1×1行列とスカラーは同一視で...
-
Texの行列に囲み枠を入れたいの...
-
巡回符号についての問題がわか...
-
私(40代男性)はわざわざ遠く...
-
今の高校数学では行列は習わな...
-
ベクトルの内積の表記の仕方、...
-
対称行列Aの2乗A^2は対称行列で...
-
なんだろう。Excelのグラフ「行...
-
row reduction?
-
行列 行既約階段行列と階段行列
おすすめ情報