시작하기무료로 시작하기

필터링과 요약을 위한 추출

구성 요소를 추출하는 또 다른 이유는 관측값을 필터링하거나 요약을 만드는 데 도움이 되기 때문이에요. 예를 들어 주말을 제외하고 평일 관측값만 보고 싶다면 요일을 추출한 뒤 주말을 걸러낼 수 있어요. 예: wday(date) %in% 2:6.

이전 연습 문제에서 1월, 2월, 3월이 오클랜드를 방문하기에 따뜻한 기온으로 아주 좋은 시기라는 것을 확인했는데요, 비옷이 필요할까요?

이번 연습 문제에서 확인해 봅시다! 시간 단위 데이터를 사용해 각 달마다 낮 시간 동안 비가 한 번이라도 온 날이 며칠이었는지 계산할 거예요.

이 연습은 강의의 일부입니다

R에서 날짜와 시간 다루기

강의 보기

연습 안내

  • datetime에서 관측의 시(hour)와 월(month)을 새로운 열로 만들어 주세요. 월에는 라벨을 붙이세요.
  • 시(hour)가 8 이상 22 이하인 낮 시간 관측만 필터링하세요.
  • 먼저 month로, 그다음 date로 그룹화한 뒤 rainy 열에 any()를 사용해 요약하세요. 이렇게 하면 하루마다 하나의 값이 나옵니다
  • any_rain을 합산하여 다시 요약하세요. 이렇게 하면 한 달마다 하나의 값이 나옵니다

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create new columns hour, month and rainy
akl_hourly <- akl_hourly %>%
  mutate(
    ___ = ___(datetime),
    ___ = ___(datetime, ___),
    rainy = weather == "Precipitation"
  )

# Filter for hours between 8am and 10pm (inclusive)
akl_day <- akl_hourly %>% 
  filter(___, ___)

# Summarise for each date if there is any rain
rainy_days <- akl_day %>% 
  group_by(___, ___) %>%
  summarise(
    any_rain = ___(rainy)
  )

# Summarise for each month, the number of days with rain
rainy_days %>% 
  summarise(
    days_rainy = ___(any_rain)
  )
코드 편집 및 실행