library(learnr)
library(tidyverse)
library(bizstatp)

knitr::opts_chunk$set(echo = FALSE)

filter 연습 문제

course 데이터를 이용하여 다음 문제를 풀어보시오. (참고자료: R 프로그래밍)

course
  1. 다음 명령을 수정하여 course 데이터 중 학년(year)이 2학년인 데이터만 추출해 보시오.:
filter(course, year == 4)
filter(course, year == 2)
  1. course 데이터 중 성별(gender)이 여학생(F)인 데이터만 추출해 보시오.:
filter(course, ... == ...)
# gender는 문자열 값을 가지는 열입니다. 
filter(course, gender == 'F')
  1. course 데이터 중 중간고사(mid)이 80 점 이상(80점 포함)인 데이터만 추출해 보시오.:
filter(course, ... >= ...)
filter(course, mid >= 80)
  1. course 데이터 중 성별(gender)가 여학생이고, 중간고사 점수(mid)가 80 점 이상인 데이터만 추출해 보시오.:
filter(course, ..., ...)
filter(course, gender == 'F', mid >= 80)
  1. course 데이터 중 학년(year)이 4학년이거나 중간고사 점수(mid)가 90 점 이상인 데이터만 추출해 보시오.:
filter(course, ... | ...)
filter(course, year == 4 | mid >= 90)

arrange 연습 문제

course 데이터를 이용하여 다음 문제를 풀어보시오. (참고자료: R 프로그래밍)

  1. course 데이터를 중간고사 점수(mid)가 낮은 학생에서 높은 학생 순으로 정렬해 보시오.:
arrange(course, ...)
arrange(course, mid)
  1. course 데이터를 중간고사 점수(mid)가 높은 학생에서 낮은 학생 순으로 정렬해 보시오.:
arrange(course, desc(...))
arrange(course, desc(mid))
  1. course 데이터를 학년(year)이 낮은 학생에서 높은 학생 순으로 정렬하시오. 단, 학년이 같은 학생은 중간고사(mid)가 낮은 학생에서 높은 학생 순으로 정렬한다.:
arrange(course, ..., ...)
arrange(course, year, mid)
  1. course 데이터를 학년(year)이 낮은 학생에서 높은 학생 순으로 정렬하시오. 단, 이번에는 학년이 같은 학생은 중간고사 점수(mid)가 높은 학생에서 낮은 학생 순으로 정렬한다.:
arrange(course, ..., desc(...))
arrange(course, year, desc(mid))

select 연습 문제

course 데이터를 이용하여 다음 문제를 풀어보시오. (참고자료: R 프로그래밍)

  1. course 데이터에서 학년(year), 중간고사 점수(mid) 열만 뽑아보시오.
select(course, ..., ...)
select(course, year, mid)
  1. course 데이터에서 학년(year), 중간고사 점수(mid) 열만 뺀 나머지 열을 뽑아보시오.
select(course, -..., -...)
select(course, -year, -mid)
  1. course 데이터에서 중간고사 점수(mid)에서 총점(score) 열까지를 뽑아보시오.
select(course, ...:...)
select(course, mid:score)
  1. course 데이터에서 중간고사 점수(mid)에서 숙제(hw) 열까지를 제외하고 다른 열을 뽑아보시오.
select(course, -(...:...))
select(course, -(mid:hw))

mutate 연습 문제

course 데이터를 이용하여 다음 문제를 풀어보시오. (참고자료: R 프로그래밍)

  1. course에서 기말고사(final) 점수에서 중간고사(mid) 점수를 뺀 값을 계산하여 course 데이터에 향상도(improv) 열로 추가해 보시오.
mutate(course, ... = ...)
mutate(course, improv = final - mid)
  1. course 데이터에서 총점(score)가 80점 이상이면 A, 80점 미만이면 B로 하여 성적을 부여하고자 한다. ifelse() 함수를 사용하여 성적(grade) 열을 추가해 보시오. ifelse(조건, 결과1, 결과2) 함수는 '조건'이 성립하면, 결과1이 그렇지 않으면 결과2가 출력되는 함수이다.
mutate(course, grade = ifelse(... > ..., ..., ...))
mutate(course, grade = ifelse(score >= 80, "A", "B"))

summarize 연습 문제

course 데이터를 이용하여 다음 문제를 풀어보시오. (참고자료: R 프로그래밍)

  1. course에서 최종점수(score)의 데이터수, 평균과 표준편차를 계산하여 각각 count, mean, sd 열로 요약해 보시오.
summarize(course, count =..., mean = ..., sd = ...)
summarize(course, count = n(), mean = mean(score), sd = sd(score))
  1. course에서 성별(gender)로 최종점수(score)의 데이터수, 평균과 표준편차를 계산하여 각각 count, mean, sd 열로 요약해 보시오.
g <- group_by(course, ...)
summarize(..., count = ..., mean = ..., sd = ...)
g <- group_by(course, gender)
summarize(g, count = n(), mean = mean(score), sd = sd(score))

파이프 연산자 연습 문제

course 데이터를 이용하여 다음 문제를 풀어보시오. (참고자료: R 프로그래밍)

  1. 파이프 연산자(%>%)를 사용하여 course에서 성별(gender)로 최종점수(score)의 데이터수, 평균과 표준편차를 계산하여 각각 count, mean, sd 열로 요약해 보시오.
course %>% group_by(...) %>% summarize(... = ..., ... = ..., ... = ...)
course %>% group_by(gender) %>% summarize(count = n(), mean = mean(score), sd = sd(score))
  1. 파이프 연산자(%>%)를 사용하여 course에서 최종점수(score)가 85점보다 높은 학생의 데이터를 뽑아서 데이터수, 평균과 표준편차를 계산하여 각각 count, mean, sd 열로 요약해 보시오.
course %>% filter(... > ...) %>% summarize(... = ..., ... = ..., ... = ...)
course %>% filter(score > 85) %>% summarize(count = n(), mean = mean(score), sd = sd(score))
  1. 파이프 연산자(%>%)를 사용하여 course에서 최종점수(score)가 85점보다 높은 학생의 데이터를 뽑아 보시오.
course %>%  filter(... > ...)  
course %>%  filter(score > 85)  
  1. 파이프 연산자(%>%)를 사용하여 course에서 최종점수(score)가 85점보다 높은 학생의 데이터를 뽑아서 성별(gender)로 데이터수, 평균과 표준편차를 계산하여 각각 count, mean, sd 열로 요약해 보시오.
course %>% 
  filter(... > ...) %>% 
  group_by(...) %>%
  summarize(... = ..., ... = ..., ... = ...)
course %>% 
  filter(score > 85) %>% 
  group_by(gender) %>%
  summarize(count = n(), mean = mean(score), sd = sd(score))


kilhwan/bizstatp documentation built on March 24, 2022, 5:53 a.m.