R note 03

moon.kick·2025년 1월 26일

ggplot(no_sports_cars) + 
  geom_point(aes(x = cty, y = hwy, color = as.factor(cyl)))

no_sports_cars |> 
  filter(cty < 10 | cty > 32.5) |> 
  relocate(cty, .after = year) |>
  relocate(hwy, .before = cyl)

ggplot(no_sports_cars) +
  geom_point(mapping = aes(x = cty, y = hwy, color = as.factor(cyl)), 
             position = "jitter")


ggplot(data = no_sports_cars) +
  geom_point(mapping = aes(x = displ, y = hwy, color = cty))

ggplot(data = no_sports_cars) +
  geom_point(mapping = aes(x = displ, y = hwy, color = cty)) +
  scale_color_gradient(low = "yellow3", high="blue")

이 코드는 ggplot2dplyr 패키지를 활용하여 다양한 방식으로 데이터를 시각화하고 변형하는 방법을 보여줍니다. 아래에서 각 부분을 단계별로 설명합니다.


1. 도시 연비(cty)와 고속도로 연비(hwy)를 실린더 수로 색상 구분

ggplot(no_sports_cars) + 
  geom_point(aes(x = cty, y = hwy, color = as.factor(cyl)))
  • aes(x = cty, y = hwy):
    • x축: 도시 연비(cty).
    • y축: 고속도로 연비(hwy).
  • color = as.factor(cyl):
    • 실린더 수(cyl)를 범주형(factor)으로 변환하여 색상으로 구분.
  • 결과:
    • 도시 연비와 고속도로 연비의 관계를 보여주며, 실린더 수에 따라 각 점에 색상이 부여됨.

2. 데이터 필터링과 열 위치 재배치

no_sports_cars |> 
  filter(cty < 10 | cty > 32.5) |> 
  relocate(cty, .after = year) |>
  relocate(hwy, .before = cyl)
  • filter(cty < 10 | cty > 32.5):
    • 도시 연비(cty)가 10 미만이거나 32.5 초과인 행만 필터링.
  • relocate(cty, .after = year):
    • cty 열을 year 열 바로 뒤로 이동.
  • relocate(hwy, .before = cyl):
    • hwy 열을 cyl 열 바로 앞에 위치시킴.
  • 결과:
    • 조건에 맞는 데이터를 필터링한 후 열 순서를 재배치한 데이터가 생성됨.

3. position = "jitter"로 데이터 점의 중첩 방지

ggplot(no_sports_cars) +
  geom_point(mapping = aes(x = cty, y = hwy, color = as.factor(cyl)), 
             position = "jitter")
  • position = "jitter":
    • 데이터 점이 겹치는 것을 방지하기 위해 각 점의 위치를 약간 무작위로 조정.
    • 이는 연속형 데이터에서 동일한 값이 많아 점이 겹칠 때 유용.
  • 결과:
    • 도시 연비와 고속도로 연비의 관계를 보여주며, 실린더 수에 따라 색상을 구분하되, 점의 중첩이 최소화됨.

4. cty 값으로 색상 구분

ggplot(data = no_sports_cars) +
  geom_point(mapping = aes(x = displ, y = hwy, color = cty))
  • color = cty:
    • 색상을 도시 연비(cty) 값으로 지정.
    • cty는 연속형 변수이므로 색상이 그라데이션 형태로 표현됨.
  • 결과:
    • 배기량(displ)과 고속도로 연비(hwy)의 관계를 나타내며, 도시 연비(cty)가 높고 낮음에 따라 색상이 점진적으로 변함.

5. 색상 그라데이션 커스터마이징

ggplot(data = no_sports_cars) +
  geom_point(mapping = aes(x = displ, y = hwy, color = cty)) +
  scale_color_gradient(low = "yellow3", high = "blue")
  • scale_color_gradient():
    • 연속형 데이터(cty)의 색상 범위를 사용자 지정.
    • low = "yellow3": 낮은 값은 노란색 계열.
    • high = "blue": 높은 값은 파란색 계열.
  • 결과:
    • 배기량과 고속도로 연비의 관계를 보여주며, 도시 연비가 낮을수록 노란색, 높을수록 파란색으로 점의 색상이 표시됨.

요약

  1. 도시 연비와 고속도로 연비:
    • 실린더 수(cyl)를 범주형으로 처리하여 색상 구분하거나, cty를 연속형으로 처리하여 그라데이션으로 표현.
  2. 데이터 조작:
    • filter()로 조건에 맞는 행을 필터링하고, relocate()로 열의 순서를 재배치.
  3. 시각화 개선:
    • position = "jitter"를 통해 점의 중첩을 방지하고, scale_color_gradient()로 색상 표현을 커스터마이징.
profile
@mgkick

0개의 댓글