Code Fix

Rエラー 練習問題 165問(全問無料)

コンパイルエラー・実行時エラー・ロジックの誤りを、空欄補充で直す練習問題です。登録不要でその場で解けます。

エラーメッセージで探す

今出ているエラーメッセージをそのまま貼り付けてください。行番号や変数名が違っていても、エラーの種類が一致すれば見つかります。

エラー難易度種別
括弧の閉じ忘れによる構文エラーの原因と直し方 #1 初級コンパイル
括弧の閉じ忘れによる構文エラーの原因と直し方 #2 初級コンパイル
括弧の閉じ忘れによる構文エラーの原因と直し方 #3 初級コンパイル
括弧の閉じ忘れによる構文エラーの原因と直し方 #4 初級コンパイル
括弧の閉じ忘れによる構文エラーの原因と直し方 #5 初級コンパイル
文字列の閉じクォート忘れによる構文エラー #1 初級コンパイル
文字列の閉じクォート忘れによる構文エラー #2 初級コンパイル
文字列の閉じクォート忘れによる構文エラー #3 初級コンパイル
文字列の閉じクォート忘れによる構文エラー #4 初級コンパイル
文字列の閉じクォート忘れによる構文エラー #5 初級コンパイル
c() のベクトルリテラルでカンマを付け忘れたときの構文エラー #1 初級コンパイル
c() のベクトルリテラルでカンマを付け忘れたときの構文エラー #2 初級コンパイル
c() のベクトルリテラルでカンマを付け忘れたときの構文エラー #3 初級コンパイル
c() のベクトルリテラルでカンマを付け忘れたときの構文エラー #4 初級コンパイル
c() のベクトルリテラルでカンマを付け忘れたときの構文エラー #5 初級コンパイル
if の条件式に = を書くと構文エラーになる(比較は == が必要) #1 初級コンパイル
if の条件式に = を書くと構文エラーになる(比較は == が必要) #2 初級コンパイル
if の条件式に = を書くと構文エラーになる(比較は == が必要) #3 初級コンパイル
if の条件式に = を書くと構文エラーになる(比較は == が必要) #4 初級コンパイル
if の条件式に = を書くと構文エラーになる(比較は == が必要) #5 初級コンパイル
Error: object 'x' not found の原因と直し方 #1 初級実行時
Error: object 'x' not found の原因と直し方 #2 初級実行時
Error: object 'x' not found の原因と直し方 #3 初級実行時
Error: object 'x' not found の原因と直し方 #4 初級実行時
Error: object 'x' not found の原因と直し方 #5 初級実行時
could not find function "x" の原因と直し方 #1 初級実行時
could not find function "x" の原因と直し方 #2 初級実行時
could not find function "x" の原因と直し方 #3 初級実行時
could not find function "x" の原因と直し方 #4 初級実行時
could not find function "x" の原因と直し方 #5 初級実行時
文字列と数値を + で連結すると non-numeric argument エラーになる #1 初級実行時
文字列と数値を + で連結すると non-numeric argument エラーになる #2 初級実行時
文字列と数値を + で連結すると non-numeric argument エラーになる #3 初級実行時
文字列と数値を + で連結すると non-numeric argument エラーになる #4 初級実行時
文字列と数値を + で連結すると non-numeric argument エラーになる #5 初級実行時
if (NA > 1) が missing value where TRUE/FALSE needed になる理由 #1 初級実行時
if (NA > 1) が missing value where TRUE/FALSE needed になる理由 #2 初級実行時
if (NA > 1) が missing value where TRUE/FALSE needed になる理由 #3 初級実行時
if (NA > 1) が missing value where TRUE/FALSE needed になる理由 #4 初級実行時
if (NA > 1) が missing value where TRUE/FALSE needed になる理由 #5 初級実行時
argument is missing, with no default の原因と直し方 #1 初級実行時
argument is missing, with no default の原因と直し方 #2 初級実行時
argument is missing, with no default の原因と直し方 #3 初級実行時
argument is missing, with no default の原因と直し方 #4 初級実行時
argument is missing, with no default の原因と直し方 #5 初級実行時
unused argument の原因と直し方 #1 初級実行時
unused argument の原因と直し方 #2 初級実行時
unused argument の原因と直し方 #3 初級実行時
unused argument の原因と直し方 #4 初級実行時
unused argument の原因と直し方 #5 初級実行時
リストの [[ ]] で範囲外アクセスすると subscript out of bounds になる #1 初級実行時
リストの [[ ]] で範囲外アクセスすると subscript out of bounds になる #2 初級実行時
リストの [[ ]] で範囲外アクセスすると subscript out of bounds になる #3 初級実行時
リストの [[ ]] で範囲外アクセスすると subscript out of bounds になる #4 初級実行時
リストの [[ ]] で範囲外アクセスすると subscript out of bounds になる #5 初級実行時
ベクトルの範囲外アクセスはエラーにならず NA を返す #1 初級ロジック
ベクトルの範囲外アクセスはエラーにならず NA を返す #2 初級ロジック
ベクトルの範囲外アクセスはエラーにならず NA を返す #3 初級ロジック
ベクトルの範囲外アクセスはエラーにならず NA を返す #4 初級ロジック
ベクトルの範囲外アクセスはエラーにならず NA を返す #5 初級ロジック
/ は整数同士でも常に小数を返す(%/% との違い) #1 初級ロジック
/ は整数同士でも常に小数を返す(%/% との違い) #2 初級ロジック
/ は整数同士でも常に小数を返す(%/% との違い) #3 初級ロジック
/ は整数同士でも常に小数を返す(%/% との違い) #4 初級ロジック
/ は整数同士でも常に小数を返す(%/% との違い) #5 初級ロジック
Rscript では代入や式の結果が自動では表示されない #1 初級ロジック
Rscript では代入や式の結果が自動では表示されない #2 初級ロジック
Rscript では代入や式の結果が自動では表示されない #3 初級ロジック
Rscript では代入や式の結果が自動では表示されない #4 初級ロジック
Rscript では代入や式の結果が自動では表示されない #5 初級ロジック
長さの合わないベクトル同士の演算は警告付きで再利用(リサイクル)される #1 中級ロジック
長さの合わないベクトル同士の演算は警告付きで再利用(リサイクル)される #2 中級ロジック
長さの合わないベクトル同士の演算は警告付きで再利用(リサイクル)される #3 中級ロジック
長さの合わないベクトル同士の演算は警告付きで再利用(リサイクル)される #4 中級ロジック
長さの合わないベクトル同士の演算は警告付きで再利用(リサイクル)される #5 中級ロジック
関数内の <- による代入はグローバル変数を変更しない #1 中級ロジック
関数内の <- による代入はグローバル変数を変更しない #2 中級ロジック
関数内の <- による代入はグローバル変数を変更しない #3 中級ロジック
関数内の <- による代入はグローバル変数を変更しない #4 中級ロジック
関数内の <- による代入はグローバル変数を変更しない #5 中級ロジック
sapply は結果を勝手に行列へ簡略化することがある #1 中級ロジック
sapply は結果を勝手に行列へ簡略化することがある #2 中級ロジック
sapply は結果を勝手に行列へ簡略化することがある #3 中級ロジック
sapply は結果を勝手に行列へ簡略化することがある #4 中級ロジック
sapply は結果を勝手に行列へ簡略化することがある #5 中級ロジック
== で NA と比較すると NA が返り FALSE にはならない #1 中級実行時
== で NA と比較すると NA が返り FALSE にはならない #2 中級実行時
== で NA と比較すると NA が返り FALSE にはならない #3 中級実行時
== で NA と比較すると NA が返り FALSE にはならない #4 中級実行時
== で NA と比較すると NA が返り FALSE にはならない #5 中級実行時
リストの [ ] は要素そのものではなく部分リストを返す([[ ]] との違い) #1 中級実行時
リストの [ ] は要素そのものではなく部分リストを返す([[ ]] との違い) #2 中級実行時
リストの [ ] は要素そのものではなく部分リストを返す([[ ]] との違い) #3 中級実行時
リストの [ ] は要素そのものではなく部分リストを返す([[ ]] との違い) #4 中級実行時
リストの [ ] は要素そのものではなく部分リストを返す([[ ]] との違い) #5 中級実行時
non-conformable arguments の原因と直し方(行列の次元不一致) #1 中級実行時
non-conformable arguments の原因と直し方(行列の次元不一致) #2 中級実行時
non-conformable arguments の原因と直し方(行列の次元不一致) #3 中級実行時
non-conformable arguments の原因と直し方(行列の次元不一致) #4 中級実行時
non-conformable arguments の原因と直し方(行列の次元不一致) #5 中級実行時
1:length(x) は x が空ベクトルのとき 1 と 0 の2回ループしてしまう #1 中級実行時
1:length(x) は x が空ベクトルのとき 1 と 0 の2回ループしてしまう #2 中級実行時
1:length(x) は x が空ベクトルのとき 1 と 0 の2回ループしてしまう #3 中級実行時
1:length(x) は x が空ベクトルのとき 1 と 0 の2回ループしてしまう #4 中級実行時
1:length(x) は x が空ベクトルのとき 1 と 0 の2回ループしてしまう #5 中級実行時
引数名の部分マッチにより意図しない引数に値が渡ることがある #1 中級実行時
引数名の部分マッチにより意図しない引数に値が渡ることがある #2 中級実行時
引数名の部分マッチにより意図しない引数に値が渡ることがある #3 中級実行時
引数名の部分マッチにより意図しない引数に値が渡ることがある #4 中級実行時
引数名の部分マッチにより意図しない引数に値が渡ることがある #5 中級実行時
順序なし factor を < や > で比較すると警告付きで NA になる #1 中級ロジック
順序なし factor を < や > で比較すると警告付きで NA になる #2 中級ロジック
順序なし factor を < や > で比較すると警告付きで NA になる #3 中級ロジック
順序なし factor を < や > で比較すると警告付きで NA になる #4 中級ロジック
順序なし factor を < や > で比較すると警告付きで NA になる #5 中級ロジック
sapply に渡す関数へ追加引数を渡し忘れると missing エラーになる #1 中級実行時
sapply に渡す関数へ追加引数を渡し忘れると missing エラーになる #2 中級実行時
sapply に渡す関数へ追加引数を渡し忘れると missing エラーになる #3 中級実行時
sapply に渡す関数へ追加引数を渡し忘れると missing エラーになる #4 中級実行時
sapply に渡す関数へ追加引数を渡し忘れると missing エラーになる #5 中級実行時
which() の戻り値と論理ベクトルによる添字指定を混同するとずれる #1 中級ロジック
which() の戻り値と論理ベクトルによる添字指定を混同するとずれる #2 中級ロジック
which() の戻り値と論理ベクトルによる添字指定を混同するとずれる #3 中級ロジック
which() の戻り値と論理ベクトルによる添字指定を混同するとずれる #4 中級ロジック
which() の戻り値と論理ベクトルによる添字指定を混同するとずれる #5 中級ロジック
S3の print メソッドで NextMethod() を省略すると基底クラスの表示が失われる #1 上級ロジック
S3の print メソッドで NextMethod() を省略すると基底クラスの表示が失われる #2 上級ロジック
S3の print メソッドで NextMethod() を省略すると基底クラスの表示が失われる #3 上級ロジック
S3の print メソッドで NextMethod() を省略すると基底クラスの表示が失われる #4 上級ロジック
S3の print メソッドで NextMethod() を省略すると基底クラスの表示が失われる #5 上級ロジック
environment はベクトルと違い参照渡しのように振る舞う #1 上級ロジック
environment はベクトルと違い参照渡しのように振る舞う #2 上級ロジック
environment はベクトルと違い参照渡しのように振る舞う #3 上級ロジック
environment はベクトルと違い参照渡しのように振る舞う #4 上級ロジック
environment はベクトルと違い参照渡しのように振る舞う #5 上級ロジック
関数名を直接書いた再帰呼び出しは、関数を別名に代入し直すと壊れる #1 上級実行時
関数名を直接書いた再帰呼び出しは、関数を別名に代入し直すと壊れる #2 上級実行時
関数名を直接書いた再帰呼び出しは、関数を別名に代入し直すと壊れる #3 上級実行時
関数名を直接書いた再帰呼び出しは、関数を別名に代入し直すと壊れる #4 上級実行時
関数名を直接書いた再帰呼び出しは、関数を別名に代入し直すと壊れる #5 上級実行時
do.call に渡すリストの名前が引数名と一致しないと unused argument になる #1 上級実行時
do.call に渡すリストの名前が引数名と一致しないと unused argument になる #2 上級実行時
do.call に渡すリストの名前が引数名と一致しないと unused argument になる #3 上級実行時
do.call に渡すリストの名前が引数名と一致しないと unused argument になる #4 上級実行時
do.call に渡すリストの名前が引数名と一致しないと unused argument になる #5 上級実行時
match.arg に候補外の値を渡すと 'arg' should be one of エラーになる #1 上級実行時
match.arg に候補外の値を渡すと 'arg' should be one of エラーになる #2 上級実行時
match.arg に候補外の値を渡すと 'arg' should be one of エラーになる #3 上級実行時
match.arg に候補外の値を渡すと 'arg' should be one of エラーになる #4 上級実行時
match.arg に候補外の値を渡すと 'arg' should be one of エラーになる #5 上級実行時
Reduce に init を渡さず空ベクトルを渡すと NULL が返り後続処理でエラーになる #1 上級実行時
Reduce に init を渡さず空ベクトルを渡すと NULL が返り後続処理でエラーになる #2 上級実行時
Reduce に init を渡さず空ベクトルを渡すと NULL が返り後続処理でエラーになる #3 上級実行時
Reduce に init を渡さず空ベクトルを渡すと NULL が返り後続処理でエラーになる #4 上級実行時
Reduce に init を渡さず空ベクトルを渡すと NULL が返り後続処理でエラーになる #5 上級実行時
vapply は FUN.VALUE のひな形と実際の戻り値の型・長さが違うとエラーになる #1 上級実行時
vapply は FUN.VALUE のひな形と実際の戻り値の型・長さが違うとエラーになる #2 上級実行時
vapply は FUN.VALUE のひな形と実際の戻り値の型・長さが違うとエラーになる #3 上級実行時
vapply は FUN.VALUE のひな形と実際の戻り値の型・長さが違うとエラーになる #4 上級実行時
vapply は FUN.VALUE のひな形と実際の戻り値の型・長さが違うとエラーになる #5 上級実行時
tryCatch の error ハンドラは warning を捕まえない #1 上級ロジック
tryCatch の error ハンドラは warning を捕まえない #2 上級ロジック
tryCatch の error ハンドラは warning を捕まえない #3 上級ロジック
tryCatch の error ハンドラは warning を捕まえない #4 上級ロジック
tryCatch の error ハンドラは warning を捕まえない #5 上級ロジック
広告
広告スロット(未設定)

出題モード

まとめて解きたいときはこちら

このモードで始める

選んだモードは次の問題への移動にも適用されます。記録は端末内にのみ保存されます。

エラーの種類について

Rのエラーは大きく3種類に分かれます。構文エラーは、Rscriptがコードを解析する段階で検出するもので、実行が一切始まりません。括弧やクォートの閉じ忘れが代表例です。実行時エラーは構文としては正しいものの、実行中に投げられるエラーで、未定義の変数やオブジェクトの参照、関数の必須引数の渡し忘れが代表例です。ロジックの誤りはどちらのエラーも出ませんが結果が期待と違うもので、ベクトルの範囲外アクセスがエラーにならずNAを返すことや、関数内の代入が呼び出し元に反映されないことなどが典型です。

Rの大きな特徴は、ベクトルの範囲外アクセスや長さの合わないベクトル同士の演算がエラーにならず、NAを返したり値を使い回したりして計算を続けてしまう点です。このサイトの問題には、他言語の感覚では即座にエラーになりそうな場面が、Rでは静かに結果だけを狂わせてしまうケースも多く含まれています。

初級から順に解く

広告
広告スロット(未設定)