R のエラーを修正する方法: 次元数が正しくありません


R で発生する可能性のあるエラーは次のとおりです。

 Error in x[, 3]: incorrect number of dimensions

このエラーは、オブジェクトの次元よりも大きい次元を持つ R のオブジェクトをサブセット化しようとすると発生します。

このチュートリアルでは、このエラーを修正する方法を正確に説明します。

エラーを再現する方法

R に 10 個の値を持つ次のベクトルがあるとします。

 #definevector
x <- c(3, 4, 7, 7, 14, 19, 22, 28, 29, 30)

ベクトルは 1 次元ですが、2 次元でサブセット化しようとするとします。

 #attempt to access value in first row and third column
x[, 3]

Error in x[, 3]: incorrect number of dimensions

#attempt to access value in third row and first column
x[3, ]

Error in x[3, ]: incorrect number of dimensions

ベクトルの次元が 1 つしかないときに 2 次元でサブセット化しようとしたため、エラーが発生します。

エラーを修正する方法

このエラーを修正する最も簡単な方法は、単純に単一の次元でサブセット化することです。たとえば、ベクトルの 3 番目の値にアクセスする方法は次のとおりです。

 #access third value in vector
x[3]

[1] 7

ベクトルの複数の値に一度にアクセスすることもできます。たとえば、ベクトル内の位置 2 ~ 5 の値にアクセスする方法は次のとおりです。

 #access values in positions 2 through 5
x[2:5]

[1] 4 7 7 14

1 次元のみでサブセット化するため、次元数が正しくないというエラーが回避されます

追加リソース

R で修正する方法: 強制によって導入された NA
R で修復する方法: 範囲外のインデックス
R での修正方法: 長いオブジェクトの長さが短いオブジェクトの長さの倍数ではありません
R での修復方法: 置換する要素の数が置換長の倍数ではありません

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です