R での修正方法: エラー: 関数以外を適用しようとしています


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

 Error: attempt to apply non-function

このエラーは通常、R で値を乗算しようとしたときに乗算記号 ( * ) を含めるのを忘れた場合に発生します。

このチュートリアルでは、2 つの異なるシナリオでこのエラーを処理する方法を正確に説明します。

シナリオ 1: データ フレーム乗算のエラーを解決する

R で次のデータ フレームを作成するとします。

 #create data frame
df <- data. frame (x=c(1, 2, 6, 7),
                 y=c(3, 5, 5, 8))

#view data frame
df

  xy
1 1 3
2 2 5
3 6 5
4 7 8

ここで、列 x に 10 を掛けたものに等しい新しい列を作成しようとするとします。

 #attempt to create new column
df$x_times_10 <- df$x(10)

Error: attempt to apply non-function

乗算記号 ( * ) を含めるのを忘れたため、エラーが発生します。

このエラーを解決するには、乗算記号を含める必要があります。

 #create new column
df$x_times_10 <- df$x*(10)

#view updated data frame
df

  xy x_times_10
1 1 3 10
2 2 5 20
3 6 5 60
4 7 8 70

シナリオ 2: ベクトル乗算エラーを解決する

R で 2 つのベクトルを作成し、それらの対応する要素を乗算しようとするとします。

 #create two vectors
x <- c(1, 2, 2, 2, 4, 5, 6)
y <- c(5, 6, 8, 7, 8, 8, 9)

#attempt to multiply corresponding elements in vectors
(x)(y)

Error: attempt to apply non-function

乗算記号が含まれていないため、エラーが発生します。

このエラーを解決するには、乗算記号を含める必要があります。

 #multiply corresponding elements in vectors
(x)*(y)

[1] 5 12 16 14 32 40 54

今回はエラーが発生しないことに注意してください。

追加リソース

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

修正方法: 条件の長さが 1 を超えており、最初の要素のみが使用されます。
修正方法: 二項演算子の数値以外の引数
修正方法: dim(X) は正の長さでなければなりません
修正方法: 未使用の引数を選択する際のエラー

コメントを追加する

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