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) は正の長さでなければなりません
修正方法: 未使用の引数を選択する際のエラー