R에서 수정하는 방법: 오류: `mapping`은 `aes()`로 생성해야 합니다.


R을 사용할 때 발생할 수 있는 오류는 다음과 같습니다.

 Error: `mapping` must be created by `aes()`

이 오류는 ggplot2에서 플롯을 생성할 때 aes() 인수를 사용하려고 시도하고 이를 잘못된 위치에서 사용하거나 “매핑” 구문 없이 사용하려고 할 때 발생합니다.

다음 예에서는 실제로 이 오류를 수정하는 방법을 보여줍니다.

오류를 재현하는 방법

ggplot2를 사용하여 상자 그림을 생성하려고 한다고 가정해 보겠습니다.

 library (ggplot2)

#createdata
df <- data. frame (y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#attempt to create boxplot for 'x1' variable
ggplot() +
  geom_boxplot(df, aes(x=x1))

Error: `mapping` must be created by `aes()`

aes() 인수가 ‘mapping’ 구문을 사용하지 않고 geom_boxplot() 함수에서 사용되었기 때문에 오류가 발생합니다.

오류를 수정하는 방법

이 오류를 해결하는 방법에는 두 가지가 있습니다.

방법 1: “매핑” 구문 사용

오류를 수정하는 한 가지 방법은 aes() 인수 앞에 ‘매핑’ 구문을 구체적으로 사용하는 것입니다.

 library (ggplot2)

#create data
df <- data. frame (y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#create boxplot for 'x1' variable
ggplot() +
  geom_boxplot(df, mapping=aes(x=x1)) 

매핑 구문을 명시적으로 사용했기 때문에 오류가 발생하지 않았습니다.

방법 2: ggplot 함수에서 ‘aes’ 사용

이 오류를 해결하는 또 다른 방법은 ggplot() 함수에서 aes() 인수를 사용하는 것입니다.

 library (ggplot2)

#createdata
df <- data. frame (y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#create boxplot for 'x1' variable
ggplot(df, aes(x=x1)) +
  geom_boxplot()

ggplot() 함수에 aes() 인수를 사용했기 때문에 상자 그림을 성공적으로 생성하고 오류를 피할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 R의 다른 일반적인 오류를 수정하는 방법을 설명합니다.

R에서 수정하는 방법:plot.new가 아직 호출되지 않았습니다.
R 수정 방법: ExtractVars의 잘못된 템플릿 수식
R에서 복구하는 방법: 교체 길이가 0입니다.

의견을 추가하다

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