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보다 크고 첫 번째 요소만 사용됩니다.
해결 방법: 이항 연산자의 숫자가 아닌 인수
해결 방법: 희미한(X) 길이는 양수여야 합니다.
해결 방법: 사용하지 않는 인수를 선택하는 중 오류가 발생했습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다