더북(TheBook)

먼저 스테이크와 와인을 동시 주문한 예약 번호만 찾아보겠습니다.

# reserv_no를 키로 예약, 주문 테이블 연결
df_f_join_1 <- inner_join(reservation_r, order_info_r, by = "reserv_no")

# item_id를 키로 df_f_join_1, 메뉴 정보 테이블 연결
df_f_join_2 <- inner_join(df_f_join_1, item_r, by = "item_id")

target_item <- c("M0005", "M0009")               # 스테이크와 와인

# 스테이크와 메뉴 아이템 동시 주문 여부 확인
df_stime_order <- df_f_join_2 %>%
    filter((item_id %in% target_item)) %>%       # 스테이크나 와인을 주문한 경우 선택
    group_by(reserv_no) %>%                      # 예약 번호로 그룹화
    mutate(order_cnt = n()) %>%                  # 그룹화된 행 세기
    distinct(branch, reserv_no, order_cnt) %>%   # 중복 예약 번호는 하나만 출력
    filter(order_cnt == 2) %>%                   # 2인 경우 선택(스테이크와 와인을 동시 주문한 경우)
    arrange(branch)

# 동시 주문인 경우의 예약 번호 데이터셋(12건)
df_stime_order

* item_id가 target_item 스테이크와 와인을 포함하는 경우

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.