Rで修正する方法:オブジェクトが見つかりません


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

 Error: object 'x' not found

このエラーは通常、次の 2 つの理由のいずれかで発生します。

理由 1 : 自分が作成していないオブジェクトを参照しようとしています。

理由 2 : オブジェクトが定義されていないコードを実行しています。

次の例では、これらの各シナリオでこのエラーを解決する方法を説明します。

例 #1: オブジェクトが存在しない場合にオブジェクトが見つからない

次のコードを使用して、作成していないデータ フレームを表示するとします。

 #create data frame
my_df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                    points=c(99, 90, 86, 88, 95),
                    assists=c(33, 28, 31, 39, 34),
                    rebounds=c(30, 28, 24, 24, 28))

#attempt to display data frame
my_data

Error: object 'my_data' not found

my_dataオブジェクトが存在しないため、エラーが発生します。

代わりに、作成したデータ フレームの正しい名前を入力する必要があります。

 #display data frame
my_df

  team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28

今回は正しい名前を使用したため、エラーなくデータ フレームを表示できます。

ls()を使用して現在の環境内のすべてのオブジェクト名を表示し、 exist()を使用して特定のオブジェクト名が存在するかどうかを確認することもできることに注意してください。

 #display the names of all objects in environment
ls()

[1] "df" "my_df" "x"

#check if my_data exists
exists(' my_data ')

[1] FALSE

exist(‘my_data’) がFALSEを返すことがわかります。これが、表示しようとしたときにエラーが発生した理由です。

例 #2: 間違ったコード部分が強調表示されているときにオブジェクトが見つからない

オブジェクトが見つからないというエラーが表示されるもう 1 つの理由は、参照しようとしているオブジェクトの名前が含まれていない RStudio で実行するコード部分を強調表示したためです。

たとえば、行 3 ~ 5 を強調表示し、 xという名前の値の平均を計算しようとしている次のスクリーンショットを考えてみましょう。

Rでオブジェクトが見つからないエラー

2 行目でxという名前のベクトルを作成したので、強調表示したコード部分でこのベクトルを実際に作成していないため、エラーが発生します。

代わりに、関心のあるコード全体を強調表示すると、エラーは発生しなくなります。

RStudio は今回、エラーなしでベクトルxの平均を表示することに注意してください。

追加リソース

次のチュートリアルでは、R の他の一般的なエラーを解決する方法について説明します。

R での修正方法: 名前が以前の名前と一致しない
R での修正方法: 長いオブジェクトの長さが短いオブジェクトの長さの倍数ではない
R での修正方法: コントラストは 2 レベル以上の因子にのみ適用できます。

コメントを追加する

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