##### Load libraries

library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
sports<-read.csv("~/Desktop/R/sports.csv",header=T,sep=',')
sports
##      brand price quality fashion gender
## 1     Nike     1       3       3 Female
## 2     Nike     2       3       1 Female
## 3     Nike     3       3       3 Female
## 4     Nike     2       2       3 Female
## 5     Nike     3       2       2 Female
## 6     Nike     1       1       2 Female
## 7     Nike     4       3       4 Female
## 8     Nike     2       2       3 Female
## 9     Nike     1       1       1 Female
## 10    Nike     2       2       1 Female
## 11    Nike     1       3       2 Female
## 12    Nike     3       3       5 Female
## 13    Nike     2       4       4 Female
## 14    Nike     2       2       3 Female
## 15    Nike     2       1       2   Male
## 16    Nike     4       3       3   Male
## 17    Nike     1       1       1   Male
## 18    Nike     1       1       1   Male
## 19    Nike     2       2       2   Male
## 20    Nike     2       5       2   Male
## 21    Nike     4       1       1   Male
## 22    Nike     1       2       1   Male
## 23    Nike     2       1       2   Male
## 24  Adidas     2       2       2 Female
## 25  Adidas     1       3       3 Female
## 26  Adidas     3       3       3 Female
## 27  Adidas     2       2       3 Female
## 28  Adidas     3       3       2 Female
## 29  Adidas     1       1       4 Female
## 30  Adidas     3       4       3 Female
## 31  Adidas     2       2       3 Female
## 32  Adidas     1       1      NA Female
## 33  Adidas     2       2       2 Female
## 34  Adidas     2       2       1 Female
## 35  Adidas     3       3       4 Female
## 36  Adidas     3       4       3 Female
## 37  Adidas     2       2       2 Female
## 38  Adidas     2       1       1   Male
## 39  Adidas     4       3       3   Male
## 40  Adidas     1       1       1   Male
## 41  Adidas     2       1       2   Male
## 42  Adidas     2       2       2   Male
## 43  Adidas     3       4       3   Male
## 44  Adidas     4       2       2   Male
## 45  Adidas     1       2       1   Male
## 46  Adidas     3       3       2   Male
## 47  Reebok     3       4       4 Female
## 48  Reebok     4       4       4 Female
## 49  Reebok     4       5       6 Female
## 50  Reebok     2       2       4 Female
## 51  Reebok     4       4       4 Female
## 52  Reebok     3       2       1 Female
## 53  Reebok     5       2       5 Female
## 54  Reebok     2       2       4 Female
## 55  Reebok     4       2       5 Female
## 56  Reebok     3       3       3 Female
## 57  Reebok     4       4       4 Female
## 58  Reebok     3       4       4 Female
## 59  Reebok     4       4       4 Female
## 60  Reebok     3       3       3 Female
## 61  Reebok     4       4       4   Male
## 62  Reebok     5       5       6   Male
## 63  Reebok     3       2       4   Male
## 64  Reebok     3       1       3   Male
## 65  Reebok     4       3       5   Male
## 66  Reebok     4       5       6   Male
## 67  Reebok     3       5       5   Male
## 68  Reebok     4       2       3   Male
## 69  Reebok     5       4       1   Male
## 70    Puma     3       4       5 Female
## 71    Puma     2       5       4 Female
## 72    Puma     3       4       3 Female
## 73    Puma     2       2       4 Female
## 74    Puma     5       5       3 Female
## 75    Puma     2       2       4 Female
## 76    Puma     4       5       2 Female
## 77    Puma     3       4       6 Female
## 78    Puma     3       3       4 Female
## 79    Puma     3       3       1 Female
## 80    Puma     3       4       2 Female
## 81    Puma     2       3       3 Female
## 82    Puma     3       3       4 Female
## 83    Puma     3       3       2 Female
## 84    Puma     4       4       4   Male
## 85    Puma     4       5       5   Male
## 86    Puma     4       5       3   Male
## 87    Puma     3       1       3   Male
## 88    Puma     3       4       3   Male
## 89    Puma     4       4       5   Male
## 90    Puma     4       3       3   Male
## 91    Puma     3       2       3   Male
## 92    Puma     4       3       2   Male
## 93    FILA     2       4       7 Female
## 94    FILA     4       4       2 Female
## 95    FILA     3       3       3 Female
## 96    FILA     3       3       4 Female
## 97    FILA     5       4       1 Female
## 98    FILA     2       2       7 Female
## 99    FILA     4       4       3 Female
## 100   FILA     2       2       4 Female
## 101   FILA     3       3       3 Female
## 102   FILA     3       4       3 Female
## 103   FILA     2       2       1 Female
## 104   FILA     2       4       2 Female
## 105   FILA     2       4       2 Female
## 106   FILA     3       3       3 Female
## 107   FILA     4       4       4   Male
## 108   FILA     4       5       3   Male
## 109   FILA     1       4       3   Male
## 110   FILA     4       1       1   Male
## 111   FILA     2       3       1   Male
## 112   FILA     3       5       3   Male
## 113   FILA     1       1       1   Male
## 114   FILA     4       3       3   Male
## 115   FILA     1       2       3   Male
sports<- na.omit(sports) 

#female
##The horizontal axis may be interpreted as price.Brands on the left on this axis is perceived to be low-priced including Reebok,Puma and Fila. Adidas and Nike are perceived to be high-priced.
## The vertical axis may be interpreted as fashion vs quality. Reebok is perceived to be low-quality and fashion and loads on the lowest part on vertical axis.
## In the aspect of price, fashion and qulity, Adidas and Nike are percived to be similar,Puma and Fila are similar. Reebok is perceived to be unique.
female<-sports %>%
  filter(gender=="Female") %>%
  group_by(brand) %>%
  summarize(price=mean(price),quality=mean(quality),fashion=mean(fashion))
female=data.frame(female,row.names = 1)
female
##           price  quality  fashion
## Adidas 2.230769 2.538462 2.692308
## FILA   2.857143 3.285714 3.214286
## Nike   2.071429 2.428571 2.642857
## Puma   2.928571 3.571429 3.357143
## Reebok 3.428571 3.214286 3.928571
# treat as distance 
female = dist(female)
female_result = cmdscale(female, k=2, eig=T)
female_result
## $points
##              [,1]        [,2]
## Adidas  0.8150227 -0.05960631
## FILA   -0.2657948  0.17455948
## Nike    1.0000684 -0.08852520
## Puma   -0.5401169  0.33436531
## Reebok -1.0091793 -0.36079328
## 
## $eig
## [1] 3.045215e+00 2.838326e-01 5.706996e-03 1.183411e-16 3.816392e-17
## 
## $x
## NULL
## 
## $ac
## [1] 0
## 
## $GOF
## [1] 0.9982886 0.9982886
# save results in new dataset
female_data = data.frame(female_result$points)
colnames(female_data) = c("Coordinate1", "Coordinate2")
female_data
##        Coordinate1 Coordinate2
## Adidas   0.8150227 -0.05960631
## FILA    -0.2657948  0.17455948
## Nike     1.0000684 -0.08852520
## Puma    -0.5401169  0.33436531
## Reebok  -1.0091793 -0.36079328

plot solution

ggplot(data = female_data, aes(x= Coordinate1, y = Coordinate2)) + 
  geom_point(size = 4, color = "blue") +
  annotate(geom = "text", x = female_data$Coordinate1, y = female_data$Coordinate2, label = row.names(female_data), vjust = 2)+
  ggtitle("female MDS")

#male
##Compared to female, male think Fila and Puma are not very similar, and Fila has higher fashion and quality than Puma.
male<-sports %>%
  filter(gender=="Male") %>%
  group_by(brand) %>%
  summarize(price=mean(price),quality=mean(quality),fashion=mean(fashion))
male=data.frame(male,row.names = 1)
male
##           price  quality  fashion
## Adidas 2.444444 2.111111 1.888889
## FILA   2.666667 3.111111 2.444444
## Nike   2.111111 1.888889 1.666667
## Puma   3.666667 3.444444 3.444444
## Reebok 3.888889 3.444444 4.111111
# treat as distance 
male = dist(male)
male_result = cmdscale(male, k=2, eig=T)
male_result
## $points
##              [,1]        [,2]
## Adidas -1.1768317 -0.14343769
## FILA   -0.1900256  0.45945173
## Nike   -1.6146078 -0.15526830
## Puma    1.1979600  0.07770704
## Reebok  1.7835051 -0.23845279
## 
## $eig
## [1]  8.643999e+00  3.186766e-01  3.979319e-02 -2.220446e-16 -6.946148e-16
## 
## $x
## NULL
## 
## $ac
## [1] 0
## 
## $GOF
## [1] 0.9955797 0.9955797
# save results in new dataset
male_data = data.frame(male_result$points)
colnames(male_data) = c("Coordinate1", "Coordinate2")
male_data
##        Coordinate1 Coordinate2
## Adidas  -1.1768317 -0.14343769
## FILA    -0.1900256  0.45945173
## Nike    -1.6146078 -0.15526830
## Puma     1.1979600  0.07770704
## Reebok   1.7835051 -0.23845279

plot solution

ggplot(data = male_data, aes(x= Coordinate1, y = Coordinate2)) + 
  geom_point(size = 4, color = "blue") +
  annotate(geom = "text", x = male_data$Coordinate1, y = male_data$Coordinate2, label = row.names(male_data), vjust = 2)+
  ggtitle("male MDS")