수집한 데이터의 탐색적 자료 분석을 위해 필수 패키지를 설치한다.
pkgs <- c("tidyverse", "readxl")
sapply(pkgs, require, character.only = TRUE)
## tidyverse readxl
## TRUE TRUE
2019년 10월 7일 무신사에서 웹 크롤링을 진행하였다.
hood <- read_excel(path = "../data/hood.xlsx")
man2man <- read_excel(path = "../data/man2man.xlsx")
outer <- read_excel(path = "../data/outer.xlsx")
위 데이터를 개별적으로 불러왔고, 카테고리 변수를 하나 추가해서 통합 데이터로 바꿀 필요는 있다. 또한 이렇게 수집된 데이터의 DB화를 진행하기 위해서는 별도의 코드북을 만들 필요가 있다. - Deadline? who will charge in?
위 논의는 추후에 진행하더라도 각각의 개별적인 데이터를 보도록 하자.
# pattern
rm_values <- c("2017 \t\t\t\t\t\t\t\t\t F/W\n", "2019 \t\t\t\t\t\t\t\t\t S/S\n")
remove <- c("@\\w+", "http\\w+", "[[:punct:]]", " 개", "건↓", "만족")
selected_vars <- c("누적판매량", "인기도", "장바구니", "좋아요", "구매후기", "포토후기", "스타일후기", "일반후기", "블로그후기")
hood2 <- hood %>%
filter(!hit_month %in% rm_values) %>%
mutate(인기도 = as.numeric(str_remove_all(hit_month, ",")),
장바구니 = as.numeric(str_remove_all(cart_month, ",")),
누적판매량 = as.numeric(str_remove_all(sell_sum, paste(remove, collapse = "|"))),
좋아요 = as.numeric(str_remove_all(like, paste(remove, collapse = "|"))),
구매후기 = as.numeric(str_remove_all(reviews_count, paste(remove, collapse = "|"))),
포토후기 = as.numeric(str_remove_all(estimate_photo, paste(remove, collapse = "|"))),
스타일후기 = as.numeric(str_remove_all(estimate_style, paste(remove, collapse = "|"))),
일반후기 = as.numeric(str_remove_all(estimate_review, paste(remove, collapse = "|"))),
블로그후기 = as.numeric(str_remove_all(estimate_blog, paste(remove, collapse = "|")))
)
summary(hood2 %>% select(selected_vars)); paste0("전체 행의 개수는: ", nrow(hood))
## 누적판매량 인기도 장바구니 좋아요
## Min. : 11.0 Min. : 0 Min. : 0.00 Min. : 1.00
## 1st Qu.: 17.0 1st Qu.: 137 1st Qu.: 3.00 1st Qu.: 3.00
## Median : 30.0 Median : 186 Median : 10.00 Median : 9.00
## Mean : 180.2 Mean : 1157 Mean : 91.94 Mean : 74.13
## 3rd Qu.: 78.0 3rd Qu.: 423 3rd Qu.: 35.00 3rd Qu.: 30.00
## Max. :17346.0 Max. :655545 Max. :16810.00 Max. :9692.00
## NA's :10705 NA's :622 NA's :622 NA's :1749
## 구매후기 포토후기 스타일후기 일반후기
## Min. : 1.00 Min. : 0.00 Min. : 0.000 Min. : 0.00
## 1st Qu.: 1.00 1st Qu.: 0.00 1st Qu.: 0.000 1st Qu.: 0.00
## Median : 3.00 Median : 0.00 Median : 0.000 Median : 0.00
## Mean : 39.24 Mean : 11.77 Mean : 5.814 Mean : 58.63
## 3rd Qu.: 10.00 3rd Qu.: 0.00 3rd Qu.: 0.000 3rd Qu.: 3.00
## Max. :7475.00 Max. :2149.00 Max. :1121.000 Max. :9258.00
## NA's :8418
## 블로그후기
## Min. : 0.0000
## 1st Qu.: 0.0000
## Median : 0.0000
## Mean : 0.1148
## 3rd Qu.: 0.0000
## Max. :22.0000
##
## [1] "전체 행의 개수는: 13387"
man2man2 <- man2man %>%
filter(!hit_month %in% rm_values) %>%
mutate(인기도 = as.numeric(str_remove_all(hit_month, ",")),
장바구니 = as.numeric(str_remove_all(cart_month, ",")),
누적판매량 = as.numeric(str_remove_all(sell_sum, paste(remove, collapse = "|"))),
좋아요 = as.numeric(str_remove_all(like, paste(remove, collapse = "|"))),
구매후기 = as.numeric(str_remove_all(reviews_count, paste(remove, collapse = "|"))),
포토후기 = as.numeric(str_remove_all(estimate_photo, paste(remove, collapse = "|"))),
스타일후기 = as.numeric(str_remove_all(estimate_style, paste(remove, collapse = "|"))),
일반후기 = as.numeric(str_remove_all(estimate_review, paste(remove, collapse = "|"))),
블로그후기 = as.numeric(str_remove_all(estimate_blog, paste(remove, collapse = "|")))
)
summary(man2man2 %>% select(selected_vars)); paste0("전체 행의 개수는: ", nrow(man2man))
## 누적판매량 인기도 장바구니 좋아요
## Min. : 11.0 Min. : 0 Min. : 0.0 Min. : 1.00
## 1st Qu.: 17.0 1st Qu.: 133 1st Qu.: 2.0 1st Qu.: 3.00
## Median : 32.0 Median : 182 Median : 9.0 Median : 9.00
## Mean : 241.8 Mean : 1427 Mean : 104.8 Mean : 77.83
## 3rd Qu.: 88.0 3rd Qu.: 416 3rd Qu.: 34.0 3rd Qu.: 30.00
## Max. :35272.0 Max. :634822 Max. :38481.0 Max. :21079.00
## NA's :12294 NA's :375 NA's :375 NA's :2189
## 구매후기 포토후기 스타일후기 일반후기
## Min. : 1.0 Min. : 0 Min. : 0.000 Min. : 0.00
## 1st Qu.: 1.0 1st Qu.: 0 1st Qu.: 0.000 1st Qu.: 0.00
## Median : 4.0 Median : 0 Median : 0.000 Median : 0.00
## Mean : 38.8 Mean : 12 Mean : 6.311 Mean : 62.37
## 3rd Qu.: 11.0 3rd Qu.: 1 3rd Qu.: 0.000 3rd Qu.: 3.00
## Max. :7655.0 Max. :2509 Max. :1514.000 Max. :13030.00
## NA's :9473
## 블로그후기
## Min. : 0.00000
## 1st Qu.: 0.00000
## Median : 0.00000
## Mean : 0.08786
## 3rd Qu.: 0.00000
## Max. :39.00000
##
## [1] "전체 행의 개수는: 15489"
outer2 <- outer %>%
filter(!hit_month %in% rm_values) %>%
mutate(인기도 = as.numeric(str_remove_all(hit_month, ",")),
장바구니 = as.numeric(str_remove_all(cart_month, ",")),
누적판매량 = as.numeric(str_remove_all(sell_sum, paste(remove, collapse = "|"))),
좋아요 = as.numeric(str_remove_all(like, paste(remove, collapse = "|"))),
구매후기 = as.numeric(str_remove_all(reviews_count, paste(remove, collapse = "|"))),
포토후기 = as.numeric(str_remove_all(estimate_photo, paste(remove, collapse = "|"))),
스타일후기 = as.numeric(str_remove_all(estimate_style, paste(remove, collapse = "|"))),
일반후기 = as.numeric(str_remove_all(estimate_review, paste(remove, collapse = "|"))),
블로그후기 = as.numeric(str_remove_all(estimate_blog, paste(remove, collapse = "|")))
)
summary(outer2 %>% select(selected_vars)); paste0("전체 행의 개수는: ", nrow(outer))
## 누적판매량 인기도 장바구니 좋아요
## Min. : 11.00 Min. : 21.0 Min. : 0.00 Min. : 1.00
## 1st Qu.: 16.25 1st Qu.: 118.0 1st Qu.: 3.00 1st Qu.: 3.00
## Median : 37.00 Median : 181.0 Median : 8.00 Median : 8.00
## Mean : 291.22 Mean : 907.7 Mean : 69.99 Mean : 56.98
## 3rd Qu.: 122.00 3rd Qu.: 372.8 3rd Qu.: 27.00 3rd Qu.: 24.00
## Max. :6260.00 Max. :114578.0 Max. :7923.00 Max. :5389.00
## NA's :1283 NA's :7 NA's :7 NA's :207
## 구매후기 포토후기 스타일후기 일반후기
## Min. : 1.00 Min. : 0.000 Min. : 0.000 Min. : 0.00
## 1st Qu.: 1.00 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 0.00
## Median : 3.00 Median : 0.000 Median : 0.000 Median : 0.00
## Mean : 51.07 Mean : 8.935 Mean : 7.967 Mean : 35.76
## 3rd Qu.: 10.00 3rd Qu.: 0.000 3rd Qu.: 0.000 3rd Qu.: 1.00
## Max. :2752.00 Max. :738.000 Max. :640.000 Max. :2796.00
## NA's :1044
## 블로그후기
## Min. : 0.0000
## 1st Qu.: 0.0000
## Median : 0.0000
## Mean : 0.1454
## 3rd Qu.: 0.0000
## Max. :12.0000
##
## [1] "전체 행의 개수는: 1516"
par(family="AppleGothic")
plot(hood2 %>% select(selected_vars))
- comment - comment
par(family="AppleGothic")
plot(man2man2 %>% select(selected_vars))
par(family="AppleGothic")
plot(outer2 %>% select(selected_vars))