1. Importing data and creating data frame.

mashrooms<- read.csv("https://raw.githubusercontent.com/olgashiligin/mashrooms/6f7e34e41029bdf8d2419d5d8e67e319a211853a/raw_data",header = FALSE, stringsAsFactors=FALSE)
df<-data.frame(mashrooms)
head(df)
##   V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20
## 1  p  x  s  n  t  p  f  c  n   k   e   e   s   s   w   w   p   w   o   p
## 2  e  x  s  y  t  a  f  c  b   k   e   c   s   s   w   w   p   w   o   p
## 3  e  b  s  w  t  l  f  c  b   n   e   c   s   s   w   w   p   w   o   p
## 4  p  x  y  w  t  p  f  c  n   n   e   e   s   s   w   w   p   w   o   p
## 5  e  x  s  g  f  n  f  w  b   k   t   e   s   s   w   w   p   w   o   e
## 6  e  x  y  y  t  a  f  c  b   n   e   c   s   s   w   w   p   w   o   p
##   V21 V22 V23
## 1   k   s   u
## 2   n   n   g
## 3   n   n   m
## 4   k   s   u
## 5   n   a   g
## 6   k   n   g

2. Creating data frame with a subset of the columns in the dataset.

mushroom_subset <- subset(df, select = c(1,2,3,6,19))
head(mushroom_subset)
##   V1 V2 V3 V6 V19
## 1  p  x  s  p   o
## 2  e  x  s  a   o
## 3  e  b  s  l   o
## 4  p  x  y  p   o
## 5  e  x  s  n   o
## 6  e  x  y  a   o

3.Adding column names.

colnames(mushroom_subset)<-c("type","cap_shape","cap_surface","odor","ring_number")
head(mushroom_subset)
##   type cap_shape cap_surface odor ring_number
## 1    p         x           s    p           o
## 2    e         x           s    a           o
## 3    e         b           s    l           o
## 4    p         x           y    p           o
## 5    e         x           s    n           o
## 6    e         x           y    a           o

4. Replacing abbreviations

mushroom_subset$type[mushroom_subset$type == "p"] <- "poisonous"
mushroom_subset$type[mushroom_subset$type == "e"] <- "edible"
mushroom_subset$cap_shape[mushroom_subset$cap_shape == "b"] <- "bell"
mushroom_subset$cap_shape[mushroom_subset$cap_shape == "c"] <- "conical"
mushroom_subset$cap_shape[mushroom_subset$cap_shape == "x"] <- "convex"
mushroom_subset$cap_shape[mushroom_subset$cap_shape == "f"] <- "flat"
mushroom_subset$cap_shape[mushroom_subset$cap_shape == "k"] <- "knobbed"
mushroom_subset$cap_shape[mushroom_subset$cap_shape == "s"] <- "sunken"
mushroom_subset$cap_surface[mushroom_subset$cap_surface == "f"] <- "fibrous"
mushroom_subset$cap_surface[mushroom_subset$cap_surface == "g"] <- "grooves"
mushroom_subset$cap_surface[mushroom_subset$cap_surface == "y"] <- "scaly"
mushroom_subset$cap_surface[mushroom_subset$cap_surface == "s"] <- "smooth"
mushroom_subset$odor[mushroom_subset$odor == "a"] <- "almond"
mushroom_subset$odor[mushroom_subset$odor == "l"] <- "anise"
mushroom_subset$odor[mushroom_subset$odor == "c"] <- "creosote"
mushroom_subset$odor[mushroom_subset$odor == "y"] <- "fishy"
mushroom_subset$odor[mushroom_subset$odor == "f"] <- "foul"
mushroom_subset$odor[mushroom_subset$odor == "m"] <- "musty"
mushroom_subset$odor[mushroom_subset$odor == "n"] <- "none"
mushroom_subset$odor[mushroom_subset$odor == "p"] <- "pungent"
mushroom_subset$odor[mushroom_subset$odor == "s"] <- "spicy"
mushroom_subset$ring_number[mushroom_subset$ring_number == "n"] <- "none"
mushroom_subset$ring_number[mushroom_subset$ring_number == "o"] <- "one"
mushroom_subset$ring_number[mushroom_subset$ring_number == "t"] <- "two"

5. Result

head(mushroom_subset)
##        type cap_shape cap_surface    odor ring_number
## 1 poisonous    convex      smooth pungent         one
## 2    edible    convex      smooth  almond         one
## 3    edible      bell      smooth   anise         one
## 4 poisonous    convex       scaly pungent         one
## 5    edible    convex      smooth    none         one
## 6    edible    convex       scaly  almond         one