R Markdown
file.Homework_2.RmdHomework_2.pdfR Markdown.R code inside R code chunks.R code chunk.In this part you will practice working with vectors and strings.
moviel <- c(94,109,110,123,125,108,92,106,84,119,110,140)
cat() function, reproduce the output below exactly
as it’s displayed. Note that the round() function allows
you to round to a specified number of decimal places. Also note that you
may not manually type the number 110.cat("Mean movie length (in min):\n",mean(moviel),"minutes")
## Mean movie length (in min):
## 110 minutes
Mean movie length (in min):
110 minutes
paste() and/or paste0() functions, reproduce
the output below exactly as it’s displayed. You may not
manually type the number 110. paste("The mean movie length is", mean(moviel), "minutes.")
## [1] "The mean movie length is 110 minutes."
In this part you will practice working with data frames that you will create manually.
typeofrecipe <- c("entree", "appetizer", "appetizer", "entree", "entree",
"appetizer", "dessert", "dessert", "entree", "entree")
numberofingredients <- c(8, 4, 5, 10, 6, 8, 7, 15, 10, 9)
totalpreptime <- c(15, 15, 5, 35, 20, 40, 25, 30, 10, 20)
totalcooktime <- c(30, 15, 20, 55, 25, 10, 120, 25, 45, 60)
containsmeat <- c("yes", "yes", "yes", "no", "no", "yes", "no", "no", "yes", "yes")
food <- data.frame(
TypeofRecipe = typeofrecipe,
NumberOfIngredients = numberofingredients,
TotalPrepTime = totalpreptime,
TotalCookTime = totalcooktime,
ContainsMeat = containsmeat,
stringAsFactors = FALSE
)
Note: Two of the variables should be factors! Also, make sure your variable names are descriptive but not too long.
typeofrecipe <- c("entree", "appetizer", "appetizer", "entree", "entree",
"appetizer", "dessert", "dessert", "entree", "entree")
numberofingredients <- c(8, 4, 5, 10, 6, 8, 7, 15, 10, 9)
totalpreptime <- c(15, 15, 5, 35, 20, 40, 25, 30, 10, 20)
totalcooktime <- c(30, 15, 20, 55, 25, 10, 120, 25, 45, 60)
containsmeat <- c("yes", "yes", "yes", "no", "no", "yes", "no", "no", "yes", "yes")
totaltime <- totalpreptime + totalcooktime
food2 <- data.frame(
TypeofRecipe = typeofrecipe,
NumberOfIngredients = numberofingredients,
TotalPrepTime = totalpreptime,
TotalCookTime = totalcooktime,
ContainsMeat = containsmeat,
TotalTime = totaltime,
stringAsFactors = FALSE
)
typeofrecipe2 <- c("appetizer", "entree", "dessert", "appetizer")
numberofingredients2 <- c(3, 15, 8, 5)
totalpreptime2 <- c(10, 35, 45, 10)
totalcooktime2 <- c(0, 90, 150, 20)
containsmeat2 <- c("no","no","no", "yes")
food3 <- data.frame(
TypeofRecipe2 = typeofrecipe2,
NumberOfIngredients2 = numberofingredients2,
TotalPrepTime2 = totalpreptime2,
TotalCookTime2 = totalcooktime2,
ContainsMeat2 = containsmeat2,
stringAsFactors = FALSE
)
typeofrecipe2 <- c("appetizer", "entree", "dessert", "appetizer")
numberofingredients2 <- c(3, 15, 8, 5)
totalpreptime2 <- c(10, 35, 45, 10)
totalcooktime2 <- c(0, 90, 150, 20)
containsmeat2 <- c("no","no","no", "yes")
totaltime2 <- totalpreptime2 + totalcooktime2
food3 <- data.frame(
TypeofRecipe2 = typeofrecipe2,
NumberOfIngredients2 = numberofingredients2,
TotalPrepTime2 = totalpreptime2,
TotalCookTime2 = totalcooktime2,
ContainsMeat2 = containsmeat2,
TotalTime2 = totaltime2,
stringAsFactors = FALSE
)
colnames(food3) <- colnames(food2)
food4 <- rbind(food2, food3)
food4
## TypeofRecipe NumberOfIngredients TotalPrepTime TotalCookTime ContainsMeat
## 1 entree 8 15 30 yes
## 2 appetizer 4 15 15 yes
## 3 appetizer 5 5 20 yes
## 4 entree 10 35 55 no
## 5 entree 6 20 25 no
## 6 appetizer 8 40 10 yes
## 7 dessert 7 25 120 no
## 8 dessert 15 30 25 no
## 9 entree 10 10 45 yes
## 10 entree 9 20 60 yes
## 11 appetizer 3 10 0 no
## 12 entree 15 35 90 no
## 13 dessert 8 45 150 no
## 14 appetizer 5 10 20 yes
## TotalTime stringAsFactors
## 1 45 FALSE
## 2 30 FALSE
## 3 25 FALSE
## 4 90 FALSE
## 5 45 FALSE
## 6 50 FALSE
## 7 145 FALSE
## 8 55 FALSE
## 9 55 FALSE
## 10 80 FALSE
## 11 10 FALSE
## 12 125 FALSE
## 13 195 FALSE
## 14 30 FALSE
In this part you will practice working with a data frame that has
already been created. The data set, named mtcars, is
included with base R.
R code chunk). class(mtcars)
## [1] "data.frame"
R code chunk). nrow(mtcars)
## [1] 32
ncol(mtcars)
## [1] 11
head(mtcars, 9)
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
mpg_values <- mtcars$mpg
mpg_values
## [1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4
## [16] 10.4 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7
## [31] 15.0 21.4
mean(mtcars$mpg)
## [1] 20.09062
median(mtcars$mpg)
## [1] 19.2
mpg_hp_df <- mtcars[, c("mpg", "hp")]
mpg_hp_df
## mpg hp
## Mazda RX4 21.0 110
## Mazda RX4 Wag 21.0 110
## Datsun 710 22.8 93
## Hornet 4 Drive 21.4 110
## Hornet Sportabout 18.7 175
## Valiant 18.1 105
## Duster 360 14.3 245
## Merc 240D 24.4 62
## Merc 230 22.8 95
## Merc 280 19.2 123
## Merc 280C 17.8 123
## Merc 450SE 16.4 180
## Merc 450SL 17.3 180
## Merc 450SLC 15.2 180
## Cadillac Fleetwood 10.4 205
## Lincoln Continental 10.4 215
## Chrysler Imperial 14.7 230
## Fiat 128 32.4 66
## Honda Civic 30.4 52
## Toyota Corolla 33.9 65
## Toyota Corona 21.5 97
## Dodge Challenger 15.5 150
## AMC Javelin 15.2 150
## Camaro Z28 13.3 245
## Pontiac Firebird 19.2 175
## Fiat X1-9 27.3 66
## Porsche 914-2 26.0 91
## Lotus Europa 30.4 113
## Ford Pantera L 15.8 264
## Ferrari Dino 19.7 175
## Maserati Bora 15.0 335
## Volvo 142E 21.4 109
mtcars[mtcars$hp >= 105, ]
## mpg cyl disp hp drat wt qsec vs am gear carb
## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
mtcars[mtcars$mpg < 20 | mtcars$mpg > 25, ]
## mpg cyl disp hp drat wt qsec vs am gear carb
## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
## Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
## Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
## Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
## Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
## Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
## Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
## AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
## Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
## Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
## Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
## Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
## Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
mtcars[mtcars$mpg >= 22 & mtcars$hp < 95, ]
## mpg cyl disp hp drat wt qsec vs am gear carb
## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2