#HW 7 draft
1: examine iris data set:
print(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5.0 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## 11 5.4 3.7 1.5 0.2 setosa
## 12 4.8 3.4 1.6 0.2 setosa
## 13 4.8 3.0 1.4 0.1 setosa
## 14 4.3 3.0 1.1 0.1 setosa
## 15 5.8 4.0 1.2 0.2 setosa
## 16 5.7 4.4 1.5 0.4 setosa
## 17 5.4 3.9 1.3 0.4 setosa
## 18 5.1 3.5 1.4 0.3 setosa
## 19 5.7 3.8 1.7 0.3 setosa
## 20 5.1 3.8 1.5 0.3 setosa
## 21 5.4 3.4 1.7 0.2 setosa
## 22 5.1 3.7 1.5 0.4 setosa
## 23 4.6 3.6 1.0 0.2 setosa
## 24 5.1 3.3 1.7 0.5 setosa
## 25 4.8 3.4 1.9 0.2 setosa
## 26 5.0 3.0 1.6 0.2 setosa
## 27 5.0 3.4 1.6 0.4 setosa
## 28 5.2 3.5 1.5 0.2 setosa
## 29 5.2 3.4 1.4 0.2 setosa
## 30 4.7 3.2 1.6 0.2 setosa
## 31 4.8 3.1 1.6 0.2 setosa
## 32 5.4 3.4 1.5 0.4 setosa
## 33 5.2 4.1 1.5 0.1 setosa
## 34 5.5 4.2 1.4 0.2 setosa
## 35 4.9 3.1 1.5 0.2 setosa
## 36 5.0 3.2 1.2 0.2 setosa
## 37 5.5 3.5 1.3 0.2 setosa
## 38 4.9 3.6 1.4 0.1 setosa
## 39 4.4 3.0 1.3 0.2 setosa
## 40 5.1 3.4 1.5 0.2 setosa
## 41 5.0 3.5 1.3 0.3 setosa
## 42 4.5 2.3 1.3 0.3 setosa
## 43 4.4 3.2 1.3 0.2 setosa
## 44 5.0 3.5 1.6 0.6 setosa
## 45 5.1 3.8 1.9 0.4 setosa
## 46 4.8 3.0 1.4 0.3 setosa
## 47 5.1 3.8 1.6 0.2 setosa
## 48 4.6 3.2 1.4 0.2 setosa
## 49 5.3 3.7 1.5 0.2 setosa
## 50 5.0 3.3 1.4 0.2 setosa
## 51 7.0 3.2 4.7 1.4 versicolor
## 52 6.4 3.2 4.5 1.5 versicolor
## 53 6.9 3.1 4.9 1.5 versicolor
## 54 5.5 2.3 4.0 1.3 versicolor
## 55 6.5 2.8 4.6 1.5 versicolor
## 56 5.7 2.8 4.5 1.3 versicolor
## 57 6.3 3.3 4.7 1.6 versicolor
## 58 4.9 2.4 3.3 1.0 versicolor
## 59 6.6 2.9 4.6 1.3 versicolor
## 60 5.2 2.7 3.9 1.4 versicolor
## 61 5.0 2.0 3.5 1.0 versicolor
## 62 5.9 3.0 4.2 1.5 versicolor
## 63 6.0 2.2 4.0 1.0 versicolor
## 64 6.1 2.9 4.7 1.4 versicolor
## 65 5.6 2.9 3.6 1.3 versicolor
## 66 6.7 3.1 4.4 1.4 versicolor
## 67 5.6 3.0 4.5 1.5 versicolor
## 68 5.8 2.7 4.1 1.0 versicolor
## 69 6.2 2.2 4.5 1.5 versicolor
## 70 5.6 2.5 3.9 1.1 versicolor
## 71 5.9 3.2 4.8 1.8 versicolor
## 72 6.1 2.8 4.0 1.3 versicolor
## 73 6.3 2.5 4.9 1.5 versicolor
## 74 6.1 2.8 4.7 1.2 versicolor
## 75 6.4 2.9 4.3 1.3 versicolor
## 76 6.6 3.0 4.4 1.4 versicolor
## 77 6.8 2.8 4.8 1.4 versicolor
## 78 6.7 3.0 5.0 1.7 versicolor
## 79 6.0 2.9 4.5 1.5 versicolor
## 80 5.7 2.6 3.5 1.0 versicolor
## 81 5.5 2.4 3.8 1.1 versicolor
## 82 5.5 2.4 3.7 1.0 versicolor
## 83 5.8 2.7 3.9 1.2 versicolor
## 84 6.0 2.7 5.1 1.6 versicolor
## 85 5.4 3.0 4.5 1.5 versicolor
## 86 6.0 3.4 4.5 1.6 versicolor
## 87 6.7 3.1 4.7 1.5 versicolor
## 88 6.3 2.3 4.4 1.3 versicolor
## 89 5.6 3.0 4.1 1.3 versicolor
## 90 5.5 2.5 4.0 1.3 versicolor
## 91 5.5 2.6 4.4 1.2 versicolor
## 92 6.1 3.0 4.6 1.4 versicolor
## 93 5.8 2.6 4.0 1.2 versicolor
## 94 5.0 2.3 3.3 1.0 versicolor
## 95 5.6 2.7 4.2 1.3 versicolor
## 96 5.7 3.0 4.2 1.2 versicolor
## 97 5.7 2.9 4.2 1.3 versicolor
## 98 6.2 2.9 4.3 1.3 versicolor
## 99 5.1 2.5 3.0 1.1 versicolor
## 100 5.7 2.8 4.1 1.3 versicolor
## 101 6.3 3.3 6.0 2.5 virginica
## 102 5.8 2.7 5.1 1.9 virginica
## 103 7.1 3.0 5.9 2.1 virginica
## 104 6.3 2.9 5.6 1.8 virginica
## 105 6.5 3.0 5.8 2.2 virginica
## 106 7.6 3.0 6.6 2.1 virginica
## 107 4.9 2.5 4.5 1.7 virginica
## 108 7.3 2.9 6.3 1.8 virginica
## 109 6.7 2.5 5.8 1.8 virginica
## 110 7.2 3.6 6.1 2.5 virginica
## 111 6.5 3.2 5.1 2.0 virginica
## 112 6.4 2.7 5.3 1.9 virginica
## 113 6.8 3.0 5.5 2.1 virginica
## 114 5.7 2.5 5.0 2.0 virginica
## 115 5.8 2.8 5.1 2.4 virginica
## 116 6.4 3.2 5.3 2.3 virginica
## 117 6.5 3.0 5.5 1.8 virginica
## 118 7.7 3.8 6.7 2.2 virginica
## 119 7.7 2.6 6.9 2.3 virginica
## 120 6.0 2.2 5.0 1.5 virginica
## 121 6.9 3.2 5.7 2.3 virginica
## 122 5.6 2.8 4.9 2.0 virginica
## 123 7.7 2.8 6.7 2.0 virginica
## 124 6.3 2.7 4.9 1.8 virginica
## 125 6.7 3.3 5.7 2.1 virginica
## 126 7.2 3.2 6.0 1.8 virginica
## 127 6.2 2.8 4.8 1.8 virginica
## 128 6.1 3.0 4.9 1.8 virginica
## 129 6.4 2.8 5.6 2.1 virginica
## 130 7.2 3.0 5.8 1.6 virginica
## 131 7.4 2.8 6.1 1.9 virginica
## 132 7.9 3.8 6.4 2.0 virginica
## 133 6.4 2.8 5.6 2.2 virginica
## 134 6.3 2.8 5.1 1.5 virginica
## 135 6.1 2.6 5.6 1.4 virginica
## 136 7.7 3.0 6.1 2.3 virginica
## 137 6.3 3.4 5.6 2.4 virginica
## 138 6.4 3.1 5.5 1.8 virginica
## 139 6.0 3.0 4.8 1.8 virginica
## 140 6.9 3.1 5.4 2.1 virginica
## 141 6.7 3.1 5.6 2.4 virginica
## 142 6.9 3.1 5.1 2.3 virginica
## 143 5.8 2.7 5.1 1.9 virginica
## 144 6.8 3.2 5.9 2.3 virginica
## 145 6.7 3.3 5.7 2.5 virginica
## 146 6.7 3.0 5.2 2.3 virginica
## 147 6.3 2.5 5.0 1.9 virginica
## 148 6.5 3.0 5.2 2.0 virginica
## 149 6.2 3.4 5.4 2.3 virginica
## 150 5.9 3.0 5.1 1.8 virginica
summary(iris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
150 observations (50 of each species) and 5 variables (sepal length, sepal width, petal length, petal width, species)
Load packages needed:
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.5 ✓ purrr 0.3.4
## ✓ tibble 3.1.6 ✓ dplyr 1.0.7
## ✓ tidyr 1.1.4 ✓ stringr 1.4.0
## ✓ readr 2.1.1 ✓ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
2: new dataframe with just virginica and versicolor, sepal lengths must be greater than 6, and sepal widths must be greater than 2.5
iris1 <- filter(iris, Species %in% c("versicolor","virginica"), Sepal.Length > 6, Sepal.Width > 2.5)
print(iris1)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 7.0 3.2 4.7 1.4 versicolor
## 2 6.4 3.2 4.5 1.5 versicolor
## 3 6.9 3.1 4.9 1.5 versicolor
## 4 6.5 2.8 4.6 1.5 versicolor
## 5 6.3 3.3 4.7 1.6 versicolor
## 6 6.6 2.9 4.6 1.3 versicolor
## 7 6.1 2.9 4.7 1.4 versicolor
## 8 6.7 3.1 4.4 1.4 versicolor
## 9 6.1 2.8 4.0 1.3 versicolor
## 10 6.1 2.8 4.7 1.2 versicolor
## 11 6.4 2.9 4.3 1.3 versicolor
## 12 6.6 3.0 4.4 1.4 versicolor
## 13 6.8 2.8 4.8 1.4 versicolor
## 14 6.7 3.0 5.0 1.7 versicolor
## 15 6.7 3.1 4.7 1.5 versicolor
## 16 6.1 3.0 4.6 1.4 versicolor
## 17 6.2 2.9 4.3 1.3 versicolor
## 18 6.3 3.3 6.0 2.5 virginica
## 19 7.1 3.0 5.9 2.1 virginica
## 20 6.3 2.9 5.6 1.8 virginica
## 21 6.5 3.0 5.8 2.2 virginica
## 22 7.6 3.0 6.6 2.1 virginica
## 23 7.3 2.9 6.3 1.8 virginica
## 24 7.2 3.6 6.1 2.5 virginica
## 25 6.5 3.2 5.1 2.0 virginica
## 26 6.4 2.7 5.3 1.9 virginica
## 27 6.8 3.0 5.5 2.1 virginica
## 28 6.4 3.2 5.3 2.3 virginica
## 29 6.5 3.0 5.5 1.8 virginica
## 30 7.7 3.8 6.7 2.2 virginica
## 31 7.7 2.6 6.9 2.3 virginica
## 32 6.9 3.2 5.7 2.3 virginica
## 33 7.7 2.8 6.7 2.0 virginica
## 34 6.3 2.7 4.9 1.8 virginica
## 35 6.7 3.3 5.7 2.1 virginica
## 36 7.2 3.2 6.0 1.8 virginica
## 37 6.2 2.8 4.8 1.8 virginica
## 38 6.1 3.0 4.9 1.8 virginica
## 39 6.4 2.8 5.6 2.1 virginica
## 40 7.2 3.0 5.8 1.6 virginica
## 41 7.4 2.8 6.1 1.9 virginica
## 42 7.9 3.8 6.4 2.0 virginica
## 43 6.4 2.8 5.6 2.2 virginica
## 44 6.3 2.8 5.1 1.5 virginica
## 45 6.1 2.6 5.6 1.4 virginica
## 46 7.7 3.0 6.1 2.3 virginica
## 47 6.3 3.4 5.6 2.4 virginica
## 48 6.4 3.1 5.5 1.8 virginica
## 49 6.9 3.1 5.4 2.1 virginica
## 50 6.7 3.1 5.6 2.4 virginica
## 51 6.9 3.1 5.1 2.3 virginica
## 52 6.8 3.2 5.9 2.3 virginica
## 53 6.7 3.3 5.7 2.5 virginica
## 54 6.7 3.0 5.2 2.3 virginica
## 55 6.5 3.0 5.2 2.0 virginica
## 56 6.2 3.4 5.4 2.3 virginica
summary(iris1)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## Min. :6.100 Min. :2.600 Min. :4.000 Min. :1.20 setosa : 0
## 1st Qu.:6.300 1st Qu.:2.875 1st Qu.:4.775 1st Qu.:1.50 versicolor:17
## Median :6.600 Median :3.000 Median :5.400 Median :1.85 virginica :39
## Mean :6.698 Mean :3.041 Mean :5.359 Mean :1.87
## 3rd Qu.:6.900 3rd Qu.:3.200 3rd Qu.:5.800 3rd Qu.:2.20
## Max. :7.900 Max. :3.800 Max. :6.900 Max. :2.50
56 observations and 5 variables
3: new dataframe with only species, sepal length, and sepal width variables
iris2 <- select(iris1, Sepal.Length, Sepal.Width, Species)
print(iris2)
## Sepal.Length Sepal.Width Species
## 1 7.0 3.2 versicolor
## 2 6.4 3.2 versicolor
## 3 6.9 3.1 versicolor
## 4 6.5 2.8 versicolor
## 5 6.3 3.3 versicolor
## 6 6.6 2.9 versicolor
## 7 6.1 2.9 versicolor
## 8 6.7 3.1 versicolor
## 9 6.1 2.8 versicolor
## 10 6.1 2.8 versicolor
## 11 6.4 2.9 versicolor
## 12 6.6 3.0 versicolor
## 13 6.8 2.8 versicolor
## 14 6.7 3.0 versicolor
## 15 6.7 3.1 versicolor
## 16 6.1 3.0 versicolor
## 17 6.2 2.9 versicolor
## 18 6.3 3.3 virginica
## 19 7.1 3.0 virginica
## 20 6.3 2.9 virginica
## 21 6.5 3.0 virginica
## 22 7.6 3.0 virginica
## 23 7.3 2.9 virginica
## 24 7.2 3.6 virginica
## 25 6.5 3.2 virginica
## 26 6.4 2.7 virginica
## 27 6.8 3.0 virginica
## 28 6.4 3.2 virginica
## 29 6.5 3.0 virginica
## 30 7.7 3.8 virginica
## 31 7.7 2.6 virginica
## 32 6.9 3.2 virginica
## 33 7.7 2.8 virginica
## 34 6.3 2.7 virginica
## 35 6.7 3.3 virginica
## 36 7.2 3.2 virginica
## 37 6.2 2.8 virginica
## 38 6.1 3.0 virginica
## 39 6.4 2.8 virginica
## 40 7.2 3.0 virginica
## 41 7.4 2.8 virginica
## 42 7.9 3.8 virginica
## 43 6.4 2.8 virginica
## 44 6.3 2.8 virginica
## 45 6.1 2.6 virginica
## 46 7.7 3.0 virginica
## 47 6.3 3.4 virginica
## 48 6.4 3.1 virginica
## 49 6.9 3.1 virginica
## 50 6.7 3.1 virginica
## 51 6.9 3.1 virginica
## 52 6.8 3.2 virginica
## 53 6.7 3.3 virginica
## 54 6.7 3.0 virginica
## 55 6.5 3.0 virginica
## 56 6.2 3.4 virginica
56 observations and 3 variables
4: order data frame by largest to smallest sepal length, print head
iris3 <- arrange(iris2, by=desc(Sepal.Length))
head(iris3)
## Sepal.Length Sepal.Width Species
## 1 7.9 3.8 virginica
## 2 7.7 3.8 virginica
## 3 7.7 2.6 virginica
## 4 7.7 2.8 virginica
## 5 7.7 3.0 virginica
## 6 7.6 3.0 virginica
5: add new variable for sepal area
iris4 <- mutate(iris3, Sepal.Area = Sepal.Length*Sepal.Width)
print(iris4)
## Sepal.Length Sepal.Width Species Sepal.Area
## 1 7.9 3.8 virginica 30.02
## 2 7.7 3.8 virginica 29.26
## 3 7.7 2.6 virginica 20.02
## 4 7.7 2.8 virginica 21.56
## 5 7.7 3.0 virginica 23.10
## 6 7.6 3.0 virginica 22.80
## 7 7.4 2.8 virginica 20.72
## 8 7.3 2.9 virginica 21.17
## 9 7.2 3.6 virginica 25.92
## 10 7.2 3.2 virginica 23.04
## 11 7.2 3.0 virginica 21.60
## 12 7.1 3.0 virginica 21.30
## 13 7.0 3.2 versicolor 22.40
## 14 6.9 3.1 versicolor 21.39
## 15 6.9 3.2 virginica 22.08
## 16 6.9 3.1 virginica 21.39
## 17 6.9 3.1 virginica 21.39
## 18 6.8 2.8 versicolor 19.04
## 19 6.8 3.0 virginica 20.40
## 20 6.8 3.2 virginica 21.76
## 21 6.7 3.1 versicolor 20.77
## 22 6.7 3.0 versicolor 20.10
## 23 6.7 3.1 versicolor 20.77
## 24 6.7 3.3 virginica 22.11
## 25 6.7 3.1 virginica 20.77
## 26 6.7 3.3 virginica 22.11
## 27 6.7 3.0 virginica 20.10
## 28 6.6 2.9 versicolor 19.14
## 29 6.6 3.0 versicolor 19.80
## 30 6.5 2.8 versicolor 18.20
## 31 6.5 3.0 virginica 19.50
## 32 6.5 3.2 virginica 20.80
## 33 6.5 3.0 virginica 19.50
## 34 6.5 3.0 virginica 19.50
## 35 6.4 3.2 versicolor 20.48
## 36 6.4 2.9 versicolor 18.56
## 37 6.4 2.7 virginica 17.28
## 38 6.4 3.2 virginica 20.48
## 39 6.4 2.8 virginica 17.92
## 40 6.4 2.8 virginica 17.92
## 41 6.4 3.1 virginica 19.84
## 42 6.3 3.3 versicolor 20.79
## 43 6.3 3.3 virginica 20.79
## 44 6.3 2.9 virginica 18.27
## 45 6.3 2.7 virginica 17.01
## 46 6.3 2.8 virginica 17.64
## 47 6.3 3.4 virginica 21.42
## 48 6.2 2.9 versicolor 17.98
## 49 6.2 2.8 virginica 17.36
## 50 6.2 3.4 virginica 21.08
## 51 6.1 2.9 versicolor 17.69
## 52 6.1 2.8 versicolor 17.08
## 53 6.1 2.8 versicolor 17.08
## 54 6.1 3.0 versicolor 18.30
## 55 6.1 3.0 virginica 18.30
## 56 6.1 2.6 virginica 15.86
56 observations and 4 variables
6: calculate avg sepal length, avg sepal width, and sample size of iris4
iris5 <- summarize(iris4, meanSepalLength = mean(Sepal.Length), meanSepalWidth = mean(Sepal.Width), number=n())
print(iris5)
## meanSepalLength meanSepalWidth number
## 1 6.698214 3.041071 56
7: calculate avg sepal length, avg sepal width, and sample size by species
iris6 <- iris4 %>%
group_by(Species) %>%
summarize(meanSepalLength=mean(Sepal.Length), meanSepalWidth=mean(Sepal.Width), number=n())
print(iris6)
## # A tibble: 2 × 4
## Species meanSepalLength meanSepalWidth number
## <fct> <dbl> <dbl> <int>
## 1 versicolor 6.48 2.99 17
## 2 virginica 6.79 3.06 39
8: use the pipe tool to get iris6 from iris1 with just one output
filter(iris, Species %in% c("versicolor","virginica"), Sepal.Length > 6, Sepal.Width > 2.5) %>%
select(Sepal.Length, Sepal.Width, Species) %>%
arrange(by=desc(Sepal.Length)) %>%
mutate(Sepal.Area = Sepal.Length*Sepal.Width) %>%
group_by(Species) %>%
summarize(meanSepalLength=mean(Sepal.Length), meanSepalWidge=mean(Sepal.Width), number=n())
## # A tibble: 2 × 4
## Species meanSepalLength meanSepalWidge number
## <fct> <dbl> <dbl> <int>
## 1 versicolor 6.48 2.99 17
## 2 virginica 6.79 3.06 39
9: longer data frame using iris but with three columns, Species, Measure, and Value
iris %>%
pivot_longer(cols=Sepal.Length:Petal.Width,
names_to = "Measure",
values_to = "Value")
## # A tibble: 600 × 3
## Species Measure Value
## <fct> <chr> <dbl>
## 1 setosa Sepal.Length 5.1
## 2 setosa Sepal.Width 3.5
## 3 setosa Petal.Length 1.4
## 4 setosa Petal.Width 0.2
## 5 setosa Sepal.Length 4.9
## 6 setosa Sepal.Width 3
## 7 setosa Petal.Length 1.4
## 8 setosa Petal.Width 0.2
## 9 setosa Sepal.Length 4.7
## 10 setosa Sepal.Width 3.2
## # … with 590 more rows