해결된 질문
24.06.14 15:43 작성
·
69
1
> df_01 = read.csv("D:/데이터_기출예제_01/set_01_data_01.csv")
> head(df_01)
datetime casual registered count
1 2011-01-01 00:00:00 3 13 16
2 2011-01-01 01:00:00 8 32 40
3 2011-01-01 02:00:00 5 27 32
4 2011-01-01 03:00:00 3 10 13
5 2011-01-01 04:00:00 0 1 1
6 2011-01-01 05:00:00 0 1 1
>
> library("lubridate")
> df_01[,"hour"] = hour(df_01$datetime)
> df_01[,"wday"] = wday(df_01$datetime,week_start=1) #week_start 기본값 0 = 월
> head(df_01)
datetime casual registered count hour wday
1 2011-01-01 00:00:00 3 13 16 0 6
2 2011-01-01 01:00:00 8 32 40 1 6
3 2011-01-01 02:00:00 5 27 32 2 6
4 2011-01-01 03:00:00 3 10 13 3 6
5 2011-01-01 04:00:00 0 1 1 4 6
6 2011-01-01 05:00:00 0 1 1 5 6
>
> df_01$wday = as.factor(df_01[,"wday"])
> head(df_01)
datetime casual registered count hour wday
1 2011-01-01 00:00:00 3 13 16 0 6
2 2011-01-01 01:00:00 8 32 40 1 6
3 2011-01-01 02:00:00 5 27 32 2 6
4 2011-01-01 03:00:00 3 10 13 3 6
5 2011-01-01 04:00:00 0 1 1 4 6
6 2011-01-01 05:00:00 0 1 1 5 6
>
> df_01_wed = filter(df_01, hour == 13, !(wday %in% c(6, 7)))
> tail(df_01_wed)
datetime casual registered count hour wday
319 2012-12-12 13:00:00 18 220 238 13 3
320 2012-12-13 13:00:00 41 230 271 13 4
321 2012-12-14 13:00:00 39 274 313 13 5
322 2012-12-17 13:00:00 16 194 210 13 1
323 2012-12-18 13:00:00 51 235 286 13 2
324 2012-12-19 13:00:00 30 183 213 13 3
>
> cnt_casual = mean(df_01_wed$casual)
> cnt_registered = mean(df_01_wed$registered)
>
> print(round(cnt_registered/cnt_casual,2))
[1] 3.52
답변 2
0
2024. 06. 16. 12:47
안녕하세요 김승욱 입니다.
jdoll326님이 말씀해주신 대로 "평일"이라는 조건이 있기 때문에
!(wday %in% c(6, 7))
로 쓰신 필터링 조건이 들어가야 맞습니다.
꼼꼼하게 봐주셔서 감사하고 향후 시험 합격 기원합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
jdoll326님께서 진행하신 작업형 제1유형 문제에 대해, 평일 오후 1시의 casual 평균 대비 registered 평균 비율에 대한 질문이신 것 같습니다. 코드를 통해 데이터를 필터링하고 평균값을 계산하여 비율을 구하는 과정까지 잘 진행하신 것으로 보입니다.
질문하신 부분과 유사한 문제 해결 방법이나 더 구체적인 해석을 제공하는 기존 질문의 답변이 있습니다. 특히 예제1. 작업형 제 1유형 질문에서 평일 오후 1시 조건을 추가하는 방법에 대한 해설이 제시되어 있습니다. “예제1. 작업형 제 1유형“에서는 lubridate
패키지의 wday()
함수를 사용하여 평일(월요일부터 금요일)에 해당하는 데이터를 특정하는 방법에 대해 설명하고 있습니다. 이 방법은 jdoll326님께서 사용하신 방법과 매우 유사하며, 주어진 코드 기반으로 질문하신 비율 계산 방법도 적절해 보입니다.
jdoll326님의 문제 접근 방식은 올바르며, 제시된 코드대로라면 평일 오후 1시의 casual 대비 registered 사용자의 평균 비율을 정확히 계산할 수 있습니다. 만약 추가적인 질문이나 다른 문제 해결 과정 중에서 더 구체적인 도움이 필요하다면, 해당 링크를 참고하시거나 추가 질문을 주시면 됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.