# 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)
```
輸出:

## 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")
```
輸出:(一部分)

## 3. 在full.table. 新增一個變數「總消費」為spend = UnitPrice*Quantity
```R
# 使用mutate新增欄位
result <- result %>%
mutate(Spend = UnitPrice * Quantity)
```
輸出:(一部分)

## 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.

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

第一組男性比例較高,第二組男女比例差不多
3.

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

第一組買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.

2.

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

```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()
```
輸出:
