mushroomsoriginal<-read.csv(url("https://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data"))

mushrooms<-as.data.frame(mushroomsoriginal)

#rename columns
names(mushrooms) = c("class", "capshape", "capsurface", "capcolor","bruises", "odor","gill attachment", "gill spacing","gill size", "gill color", "stalk shape", "stalk root", "stalk-surface-above-ring:", "stalk-surface-below-ring", "stalk-color-above-ring", "stalk-color-below-ring", "veil-type", "veil-color", "ring-number", "ring-type", " spore-print-color", "population", "habitat")

head(mushrooms)
##   class capshape capsurface capcolor bruises odor gill attachment
## 1     e        x          s        y       t    a               f
## 2     e        b          s        w       t    l               f
## 3     p        x          y        w       t    p               f
## 4     e        x          s        g       f    n               f
## 5     e        x          y        y       t    a               f
## 6     e        b          s        w       t    a               f
##   gill spacing gill size gill color stalk shape stalk root
## 1            c         b          k           e          c
## 2            c         b          n           e          c
## 3            c         n          n           e          e
## 4            w         b          k           t          e
## 5            c         b          n           e          c
## 6            c         b          g           e          c
##   stalk-surface-above-ring: stalk-surface-below-ring
## 1                         s                        s
## 2                         s                        s
## 3                         s                        s
## 4                         s                        s
## 5                         s                        s
## 6                         s                        s
##   stalk-color-above-ring stalk-color-below-ring veil-type veil-color
## 1                      w                      w         p          w
## 2                      w                      w         p          w
## 3                      w                      w         p          w
## 4                      w                      w         p          w
## 5                      w                      w         p          w
## 6                      w                      w         p          w
##   ring-number ring-type  spore-print-color population habitat
## 1           o         p                  n          n       g
## 2           o         p                  n          n       m
## 3           o         p                  k          s       u
## 4           o         e                  n          a       g
## 5           o         p                  k          n       g
## 6           o         p                  k          n       m
#rename data
levels(mushrooms$class)[levels(mushrooms$class)=="e"]<- "edible"
levels(mushrooms$class)[levels(mushrooms$class)=="p"]<- "poisonous"
levels(mushrooms$population)[levels(mushrooms$population)=="a"]<- "abundant"
levels(mushrooms$population)[levels(mushrooms$population)=="c"]<- "clustered"
levels(mushrooms$population)[levels(mushrooms$population)=="n"]<- "numerous"
levels(mushrooms$population)[levels(mushrooms$population)=="s"]<- "scattered"
levels(mushrooms$population)[levels(mushrooms$population)=="v"]<- "several"
levels(mushrooms$population)[levels(mushrooms$population)=="y"]<- "solitary"
levels(mushrooms$habitat)[levels(mushrooms$habitat)=="g"]<- "grasses"
levels(mushrooms$habitat)[levels(mushrooms$habitat)=="l"]<- "leaves"
levels(mushrooms$habitat)[levels(mushrooms$habitat)=="m"]<- "meadows"
levels(mushrooms$habitat)[levels(mushrooms$habitat)=="u"]<-
  "urban"
levels(mushrooms$habitat)[levels(mushrooms$habitat)=="m"]<- "meadows"
levels(mushrooms$habitat)[levels(mushrooms$habitat)=="d"]<-
  "woods"

#Subset to reduce columns
mushrooms <-subset(mushrooms, select = c(1,22,23))
head(mushrooms, 25)
##        class population habitat
## 1     edible   numerous grasses
## 2     edible   numerous meadows
## 3  poisonous  scattered   urban
## 4     edible   abundant grasses
## 5     edible   numerous grasses
## 6     edible   numerous meadows
## 7     edible  scattered meadows
## 8  poisonous    several grasses
## 9     edible  scattered meadows
## 10    edible   numerous grasses
## 11    edible  scattered meadows
## 12    edible  scattered grasses
## 13 poisonous    several   urban
## 14    edible   abundant grasses
## 15    edible   solitary   urban
## 16    edible   abundant grasses
## 17 poisonous  scattered grasses
## 18 poisonous  scattered   urban
## 19 poisonous  scattered   urban
## 20    edible  scattered meadows
## 21 poisonous    several grasses
## 22    edible  scattered meadows
## 23    edible   numerous meadows
## 24    edible  scattered meadows
## 25 poisonous    several grasses