---
# System prepended metadata

title: HW 1

---

# HW 1
## 1. product_list裡將兩個變數，誤紀錄為在同一個column，其將其分開為兩個變數Product（數字部分）及Item（商品部分），取代原product_list。
```R
# 將資料輸入
product_list <- read.csv("product_list.csv")
# 為了在後面合併表格時不會資料型別錯誤，所以加上 convert = TRUE
product_list <- product_list %>%
  separate(Item, into=c("Product", "Item"), sep = "_", convert = TRUE)
```
輸出：
![](https://hackmd.io/_uploads/SyRA72ifa.png)

## 2. 將3個報表合併為full.table
```R
# 將資料輸入
client_list <- read.csv("client_list.csv")
salesdata <- read.csv("salesdata.csv")
# 捨棄掉X欄位
client_list <- client_list %>% select(!(X))
salesdata <- salesdata %>% select(!(X))
# 先把salesdata與client_list合併，再與product_list併
result <- salesdata %>%
  left_join(client_list, by = "Client") %>%
  left_join(product_list, by = "Product")
```
輸出：(一部分)
![](https://hackmd.io/_uploads/ByyREnjzp.png)


## 3. 在full.table. 新增一個變數「總消費」為spend = UnitPrice*Quantity
```R
# 使用mutate新增欄位
result <- result %>%
  mutate(Spend = UnitPrice * Quantity)
```
輸出：(一部分)
![](https://hackmd.io/_uploads/Hya7E3iMa.png)

## 4. 在full.table將會員等級分組，其中gold和diamond的顧客為一組，其他等級的為一組，以敘述統計針對兩組客戶進行比較介紹（例如平均年紀、性別、國家、消費情況差異等）。
第一組：
```R
# 將gold和diamond的顧客分為一組，另外存一個df
high_level <- result %>%
  filter(Membership == "gold" | Membership == "diamond") 
  
# 計算平均
high_level %>%
  summarise(
    平均花費 = mean(Spend),
    平均年齡 = mean(Age)
    )
    
# 統計性別人數
high_level %>%
  select(Gender) %>%
  table()
  
# 統計國家人數
high_level %>%
  select(Region) %>%
  table()
  
# 統計產品購買數
high_level %>%
  select(Item) %>%
  table()
```
第二組：
```R
# 將非gold和diamond的顧客分為一組，另外存一個df
normal_level <- result %>%
  filter(!(Membership == "gold" | Membership == "diamond"))

# 計算平均
normal_level %>%
  summarise(
    平均花費 = mean(Spend),
    平均年齡 = mean(Age)
  )

# 統計性別人數
normal_level %>%
  select(Gender) %>%
  table()

# 統計國家人數
normal_level %>%
  select(Region) %>%
  table()

# 統計產品購買數
normal_level %>%
  select(Item) %>%
  table()
```
比較：

1. 
![](https://hackmd.io/_uploads/r1T8phoMa.png)

第二組的平均花費較高，年齡稍低於第一組

2. 
![](https://hackmd.io/_uploads/Sycq6nsMa.png)

第一組男性比例較高，第二組男女比例差不多

3. 
![](https://hackmd.io/_uploads/rkWW0nsz6.png)

兩組之間僅在中國、德國、泰國有較顯著的數量差異

4. 
![](https://hackmd.io/_uploads/Hk0r02jGp.png)

第一組買iPad及iMac的訂單較多

## 5. 在full.table針對男性客戶進行分析（例如平均年紀、國家、消費情況等），並對他們在不同產品的「總消費」畫圖分析。
```R
# 將男性客戶分出來
male_result <- result %>%
  filter(Gender == "male")
 
# 計算平均
male_result %>%
  summarise(
    平均花費 = mean(Spend),
    平均年齡 = mean(Age)
  )

# 統計國家人數
male_result %>%
  select(Region) %>%
  table()
```
輸出：(一部分)
1. 

![](https://hackmd.io/_uploads/Hk4ZGx3fa.png)

2. 

![](https://hackmd.io/_uploads/SyWVGl3GT.png)

平均花費比全部總平均高，年齡則是差不多

3. 

![](https://hackmd.io/_uploads/S1Kyfg2MT.png)

```R
# 產生畫圖需要的資料
draw_data <- male_result %>%
  group_by(Item) %>%
  summarise(
    Total = sum(Spend)
  )
# 畫出圖表
ggplot(draw_data, aes(x = Item, y = Total)) +
  geom_bar(stat = "identity") +
  labs(x = "Items", y = "Spend Total") +
  theme_classic()
```
輸出：

![](https://hackmd.io/_uploads/Hk3jfghMa.png)
