수정 방법: 미학은 길이가 1이거나 데이터와 동일해야 합니다.


R에서 발생할 수 있는 오류는 다음과 같습니다.

 Error: Aesthetics must be either length 1 or the same as the data (5): fill

이 오류는 ggplot2 플롯에서 사용할 채우기 색상을 지정하려고 시도했지만 지정한 색상 수가 1이 아니거나 채워질 총 객체 수와 같지 않을 때 발생합니다.

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

오류를 재현하는 방법

airquality 라는 내장 R 데이터 세트를 사용하여 작업한다고 가정해 보겠습니다.

 #view first six lines of air quality dataset
head(airquality)

  Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
6 28 NA 14.9 66 5 6

이제 매월 오존 값 분포를 시각화하기 위해 여러 개의 상자 그림을 생성한다고 가정해 보겠습니다.

 library (ggplot2)

#attempt to create multiple boxplots
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue ', ' red '))

Error: Aesthetics must be either length 1 or the same as the data (5): fill

데이터세트에 5개의 고유한 월이 있으므로(따라서 5개의 상자 그림을 생성함) 패딩 인수에 두 가지 색상만 제공했기 때문에 오류가 발생합니다.

오류를 수정하는 방법

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

방법 1: 채우기 인수에 하나의 색상만 사용

채우기 인수에 하나의 색상만 사용하도록 선택할 수 있습니다.

 library (ggplot2)
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue '))

이를 통해 각 상자 그림을 동일한 색상으로 채울 수 있습니다.

방법 2: 상자 그림 수와 동일한 수의 색상 사용

사용할 상자 그림 수에 해당하는 5가지 색상을 지정할 수도 있습니다.

 library (ggplot2)
ggplot(data = airquality, aes(x=as. character (Month), y=Temp)) +
geom_boxplot(fill=c(' steelblue ', ' red ', ' purple ', ' green ', ' orange ')) 

우리가 제공한 색상 수가 상자 그림 수와 일치하기 때문에 오류가 발생하지 않습니다.

추가 리소스

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

수정 방법: 연속 규모로 제공되는 개별 값
해결 방법: 인수가 숫자도 아니고 논리도 아닙니다. na를 반환합니다.
해결 방법: 교체 길이가 0입니다.

의견을 추가하다

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