item_r.xlsx
    0.01MB
    customer_r.xlsx
    0.02MB
    csv_exam.csv
    0.00MB
    reservation_r.xlsx
    0.02MB
    order_info_r.xlsx
    0.02MB

    RLab04

    # summarise()함수 : 행요약하기
    # 열전체를 입력 값으로 함수를 계산하여 요약값을 출력,
    
    # 주문테이블에서 매출(salse)의 평균값을 구하라.
    summarise(order_info_r, avg = mean(sales))
    summarise(order_info_r, min_value = min(sales), max_value= max(sales))
    
    order_info_r %>% summarise(min_value = min(sales), max_value= max(sales))
              
     # 패키지 로딩
    library(dplyr)                           
    exam <- read.csv("csv_exam.csv")
    
    exam
    
    # 집단별 요약하기
    # math 평균 산출
    exam %>% summarise(mean_math = mean(math))
    
    #class별로 분리
    exam %>% 
      group_by(class) %>% 
      summarise(mean_math = mean(math))
    
    #여러 요약통계량 한번에 산출하기
    exam %>% 
      group_by(class) %>%                    #class별로 분리
      summarise(mean_math = mean(math),      #math 평균합계
                sum_math = sum(math),        #math 합계
                medain_math = median(math),  # math 중앙값
                n = n())                     #학생수
    
    # 각 집단별로 다시 집단 나누기 -- 회사별, 구동방식별별
    mpg
    mpg %>% 
      group_by(manufacturer, drv, ) %>%
      summarise(mean_cty = mean(cty)) %>% 
      head(10)
      
    # dplyr 조합하기
    mpg %>% 
      group_by(manufacturer) %>% 
      filter(class=="suv") %>% #행은 필터 
      mutate(tot = (cty+hwy)/2) %>%
      summarise(mean_tot = mean(tot)) %>% 
      arrange(desc(mean_tot)) %>% 
      head(5)
    
    # 혼자서 해보기 150p
    library(ggplot2)
    mpg <- as.data.frame(ggplot2::mpg) #mpg 데이터 불러오기기
    #Q1
    mpg %>% 
      group_by(class) %>% #class 별 분리 
      summarise(mean_cty = mean(cty)) #cty 평균구하기기
    
    #Q2
    mpg %>% 
      group_by(class) %>% #class 별 분리 
      summarise(mean_cty = mean(cty)) %>% #cty 평균구하기기
      arrange(desc(mean_cty)) #내림차순 정렬
    
    #Q3
    mpg %>% 
      group_by(manufacturer) %>%  #manufacturer별 분리
      summarise(mean_hwy = mean(hwy)) %>% #hwy 평균
      arrange(desc(mean_hwy)) %>% #내림차순 정렬
      head(3) #상위 3행 출력
    
    # Q4
    mpg %>% 
      filter(class == "compact") %>% # compact 추출
      group_by(manufacturer) %>% # manufacturer 별 분리
      summarise(count = n()) %>% #빈도수구하기 
      arrange(desc(count)) #정렬 내림차순 
    
    reservation_r
    head(reservation_r)
    # group by : 행 그룹화하기
    # : summarise()함수와 함께 사용.
    # 예약테이블에서 고객번호(customer_id)로 그룹화하여(group by) 
    # 각 고객별 예약했던 고객수의 평균값(mean)을 구하라.
    reservation_r %>% 
      group_by(customer_id) %>% 
      summarise(avg = mean(visitor_cnt)) # 얼마나 방문했는지 평균
    

    RLab05

    # 가로로 합치기
    # 데이터 생성
    # 중간고사 데이터 생성
    test1 <- data.frame(id = c(1, 2, 3, 4, 5),
                        midterm = c(60, 80, 70, 90, 85))
    test1
    
    #기말고사 데이터 생성
    test2 <- data.frame(id = c(1, 2, 3, 4, 5),
                        final = c(70, 83, 65, 95, 80))
    
    test2
    
    # id기준으로 합치기 
    # by에 변수명 지정할때 변수명 앞뒤에 겹따움표 입력.
    total <- left_join(test1, test2, by = "id")
    total
    
    # 반별 담임교사 명단 생성
    name <- data.frame(class = c(1, 2, 3, 4, 5),
                       teacher = c("kim", "lee", "park", "choi", "chu"))
    name
    exam
    
    exam_new <- left_join(name,exam, by = "class")
    exam_new
    
    exam_new2 <- left_join(exam, name, by = "class")
    exam_new2
    
    # 두개 합치기기
    reservation_r # 예약정보보
    order_info_r # 주문정보
    
    # left_join() : 왼쪽기준 모든 데이터 연결하기
    str(reservation_r)
    library(dplyr)
    reservation_new <- left_join(reservation_r, order_info_r, by = "reserv_no") %>% 
      arrange(reserv_no, item_id) %>% 
      select(reserv_no, visitor_cnt, cancel, order_no, item_id, sales)
    reservation_new
    
    # 세로로 합치기
    # 데이터 생성
    # 학생 1~5번 시험데이터 생성
    group_a <- data.frame(id = c(1, 2, 3, 4, 5),
                          test = c(60, 80, 70, 90, 85))
    group_a
    
    # 학생 6~10번 시험데이터 생성
    group_b <-  data.frame(id = c(6, 7, 8, 9, 10),
                           test = c(70, 83, 65, 95, 80))
    group_b
    
    # 세로로 합치기
    group_all <- bind_rows(group_a, group_b)
    group_all
    
    #혼자서 해보기 156p
    #Q1
    head(mpg)
    str(mpg)
    
    mpg_fl <- left_join(mpg, fuel, by = "fl")
    mpg_fl
    
    #Q2
    mpg_fl %>% 
      select(model, fl, price_fl) %>% 
      head(5)
    
    
    
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading