Як виправити в r: помилка: спроба застосувати нефункцію


Помилка, з якою ви можете зіткнутися в R:

 Error: attempt to apply non-function

Ця помилка зазвичай виникає, коли ви намагаєтеся помножити значення в R, але забуваєте включити знак множення ( * ).

Цей підручник пояснює, як усунути цю помилку в двох різних сценаріях.

Сценарій 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 і намагаємося помножити їхні відповідні елементи разом:

 #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) має мати додатну довжину
Як виправити: помилка під час вибору невикористаних аргументів

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *