1
library("tidyverse")
## ── Attaching core tidyverse packages ───────
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
glimpse(iris)
## Rows: 150
## Columns: 5
## $ Sepal.Length <dbl> 5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4.…
## $ Sepal.Width <dbl> 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.…
## $ Petal.Length <dbl> 1.4, 1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.…
## $ Petal.Width <dbl> 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.…
## $ Species <fct> setosa, setosa, setosa, setosa, setosa, setosa, setosa, s…
# 150 observations with 5 variables
2
iris1 <- subset(iris, Species %in% c("virginica", "versicolor") & Sepal.Length > 6 & Sepal.Width > 2.5)
glimpse(iris1)
## Rows: 56
## Columns: 5
## $ Sepal.Length <dbl> 7.0, 6.4, 6.9, 6.5, 6.3, 6.6, 6.1, 6.7, 6.1, 6.1, 6.4, 6.…
## $ Sepal.Width <dbl> 3.2, 3.2, 3.1, 2.8, 3.3, 2.9, 2.9, 3.1, 2.8, 2.8, 2.9, 3.…
## $ Petal.Length <dbl> 4.7, 4.5, 4.9, 4.6, 4.7, 4.6, 4.7, 4.4, 4.0, 4.7, 4.3, 4.…
## $ Petal.Width <dbl> 1.4, 1.5, 1.5, 1.5, 1.6, 1.3, 1.4, 1.4, 1.3, 1.2, 1.3, 1.…
## $ Species <fct> versicolor, versicolor, versicolor, versicolor, versicolo…
# 56 observation and 5 variables
3
iris2 <- iris1 %>% select(Species, Sepal.Length, Sepal.Width)
print(iris2)
## Species Sepal.Length Sepal.Width
## 51 versicolor 7.0 3.2
## 52 versicolor 6.4 3.2
## 53 versicolor 6.9 3.1
## 55 versicolor 6.5 2.8
## 57 versicolor 6.3 3.3
## 59 versicolor 6.6 2.9
## 64 versicolor 6.1 2.9
## 66 versicolor 6.7 3.1
## 72 versicolor 6.1 2.8
## 74 versicolor 6.1 2.8
## 75 versicolor 6.4 2.9
## 76 versicolor 6.6 3.0
## 77 versicolor 6.8 2.8
## 78 versicolor 6.7 3.0
## 87 versicolor 6.7 3.1
## 92 versicolor 6.1 3.0
## 98 versicolor 6.2 2.9
## 101 virginica 6.3 3.3
## 103 virginica 7.1 3.0
## 104 virginica 6.3 2.9
## 105 virginica 6.5 3.0
## 106 virginica 7.6 3.0
## 108 virginica 7.3 2.9
## 110 virginica 7.2 3.6
## 111 virginica 6.5 3.2
## 112 virginica 6.4 2.7
## 113 virginica 6.8 3.0
## 116 virginica 6.4 3.2
## 117 virginica 6.5 3.0
## 118 virginica 7.7 3.8
## 119 virginica 7.7 2.6
## 121 virginica 6.9 3.2
## 123 virginica 7.7 2.8
## 124 virginica 6.3 2.7
## 125 virginica 6.7 3.3
## 126 virginica 7.2 3.2
## 127 virginica 6.2 2.8
## 128 virginica 6.1 3.0
## 129 virginica 6.4 2.8
## 130 virginica 7.2 3.0
## 131 virginica 7.4 2.8
## 132 virginica 7.9 3.8
## 133 virginica 6.4 2.8
## 134 virginica 6.3 2.8
## 135 virginica 6.1 2.6
## 136 virginica 7.7 3.0
## 137 virginica 6.3 3.4
## 138 virginica 6.4 3.1
## 140 virginica 6.9 3.1
## 141 virginica 6.7 3.1
## 142 virginica 6.9 3.1
## 144 virginica 6.8 3.2
## 145 virginica 6.7 3.3
## 146 virginica 6.7 3.0
## 148 virginica 6.5 3.0
## 149 virginica 6.2 3.4
# 56 observations and 3 variables
4
iris3<-iris2 %>%
arrange(by = desc(Sepal.Length))
head(iris3)
## Species Sepal.Length Sepal.Width
## 1 virginica 7.9 3.8
## 2 virginica 7.7 3.8
## 3 virginica 7.7 2.6
## 4 virginica 7.7 2.8
## 5 virginica 7.7 3.0
## 6 virginica 7.6 3.0
5
iris4<-iris3 %>%
mutate(area = Sepal.Length*Sepal.Width)
head(iris4)
## Species Sepal.Length Sepal.Width area
## 1 virginica 7.9 3.8 30.02
## 2 virginica 7.7 3.8 29.26
## 3 virginica 7.7 2.6 20.02
## 4 virginica 7.7 2.8 21.56
## 5 virginica 7.7 3.0 23.10
## 6 virginica 7.6 3.0 22.80
6
iris5 <- iris4 %>%
summarize(
Average_Sepal.Length = mean(Sepal.Length),
Average_Sepal.Width = mean(Sepal.Width),
Sample_Size = n()
)
print(iris5)
## Average_Sepal.Length Average_Sepal.Width Sample_Size
## 1 6.698214 3.041071 56
7
iris6 <- iris4 %>%
group_by(Species) %>%
summarize(
Average_Sepal.Length = mean(Sepal.Length),
Average_Sepal.Width = mean(Sepal.Width),
Sample_Size = n()
)
print(iris6)
## # A tibble: 2 × 4
## Species Average_Sepal.Length Average_Sepal.Width Sample_Size
## <fct> <dbl> <dbl> <int>
## 1 versicolor 6.48 2.99 17
## 2 virginica 6.79 3.06 39
9
iris_long <- iris %>%
pivot_longer(cols = -Species, names_to = "Measure", values_to = "Value")
print(iris_long)
## # 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
## # ℹ 590 more rows