始める無料で始める

行列に対するループ処理

ワークスペースには、ttt三目並べ[(https://en.wikipedia.org/wiki/Tic-tac-toe)ゲームの状態を表す行列 ] があります。この行列には「X」「O」「NA」のいずれかの値が入っています。まず ttt を出力して、中身を確認してみましょう。行1・列1には「O」が、行3・列2には「NA」が入っています。

この演習を解くには、for ループの中にさらに for ループを入れる、いわゆるネストされたループが必要です。R ではとても簡単に書くことができます。次の構文を使いましょう。

for (var1 in seq1) {
  for (var2 in seq2) {
    expr
  }
}

この演習はコースの一部です

中級 R

コースを見る

演習の手順

for の各要素を処理するネストされた ttt ループを完成させましょう。

  • 外側のループは行に対して繰り返し、ループのインデックスには i を使います(1:nrow(ttt) を使用)。
  • 内側のループは列に対して繰り返し、ループのインデックスには j を使います(1:ncol(ttt) を使用)。
  • 内側のループの中では、print()paste() を使って、「On row i and column j the board contains x」という形式で情報を出力しましょう。ここで x は該当する位置の値です。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# The tic-tac-toe matrix ttt has already been defined for you

# define the double for loop
for (___ in ___) {
  for (___ in ___) {
    print(___)
  }
}
コードを編集して実行