Ggplot2를 사용하여 그룹별로 회귀선을 그리는 방법


다음 구문을 사용하여 R 시각화 패키지 ggplot2를 사용하여 그룹 회귀선을 그릴 수 있습니다.

 ggplot(df, aes (x = x_variable, y = y_variable, color = group_variable)) +
  geom_point() +
  geom_smooth(method = " lm ", fill = NA )

이 튜토리얼에서는 이 기능을 실제로 사용하는 방법에 대한 간단한 예를 제공합니다.

예: ggplot2를 사용하여 그룹별로 회귀선 그리기

15명의 학생에 대해 다음 세 가지 변수를 보여주는 다음 데이터 세트가 있다고 가정합니다.

  • 공부한 시간
  • 시험 점수를 받았습니다
  • 사용된 연구 기법(A, B 또는 C)
 #create dataset
df <- data.frame(hours=c(1, 2, 3, 3, 4, 1, 2, 2, 3, 4, 1, 2, 3, 4, 4),
                 score=c(84, 86, 85, 87, 94, 74, 76, 75, 77, 79, 65, 67, 69, 72, 80),
                 technique= rep (c(' A ', ' B ', ' C '), each = 5 ))

#view dataset
df

   hours technical score
1 1 84 A
2 2 86 A
3 3 85 A
4 3 87 A
5 4 94 A
6 1 74 B
7 2 76 B
8 2 75 B
9 3 77 B
10 4 79 B
11 1 65 C
12 2 67 C
13 3 69 C
14 4 72 C
15 4 80 C

다음 코드는 세 가지 학습 기법 각각에 대해 학습 시간과 시험 점수 간의 관계를 포착하는 회귀선을 그리는 방법을 보여줍니다.

 #load ggplot2
library (ggplot2)

#create regression lines for all three groups
ggplot(df, aes (x = hours, y = score, color = technique)) +
  geom_point() +
  geom_smooth(method = " lm ", fill = NA )

ggplot2의 그룹별 회귀선

geom_smooth() 에서는 선형 추세를 지정하기 위해 메소드 = ‘lm’을 사용했습니다.

또한 “glm”, “loess” 또는 “gam”과 같은 다른 평활화 방법을 사용하여 데이터의 비선형 추세를 포착할 수도 있습니다. geom_smooth()에 대한 전체 문서는 여기에서 찾을 수 있습니다.

세 그룹 각각에 대한 시험 결과를 표시하기 위해 서로 다른 모양을 사용할 수도 있습니다.

 ggplot(df, aes (x = hours, y = score, color = technique, shape = technique)) +
  geom_point() +
  geom_smooth(method = " lm ", fill = NA )

ggplot2의 단일 플롯에 있는 여러 회귀선

여기에서 더 많은 ggplot2 튜토리얼을 찾을 수 있습니다.

의견을 추가하다

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