dplyr is a grammar of data manipulation, providing a consistent set of rationally named functions to help you solve the most common data manipulation challenges.
A <-data.frame(colum1 =c(1,2,3,4,5), column2=c(5,4,3,2,1))# updatig colum complicated way, we will not do it this wayA[,1] <- A[,1]+5A
colum1 column2
1 6 5
2 7 4
3 8 3
4 9 2
5 10 1
Logicals
These operators are how you compare values to each other. Keep them in mind for subsetting and filtering going forward.
equals ==
not equal to !=
greater than >
greater than or equal to >=
less than <
less than or equal to <=
and &
or |
# Are the numbers equal?2==5
[1] FALSE
# Is the first number less than the second number?2<5
[1] TRUE
# Is the first number greater than the second number?2>5
[1] FALSE
# Are the numbers NOT equal2!=5
[1] TRUE
Subset tables with logicals
# get all columns and all rows where sepal length is greater than or equal to 5# bigger_5 <- iris$Sepal.Length >= 5# iris[bigger_5,]iris[iris$Sepal.Length >=5,]
The pipe operator %>% pipes output from one function to the next. You can use this to chain together as many command/functions as desired. For a simple example, instead of calling head() on flights, we could have piped flights to head()
The assignment operator, -> saves the current output as an object (aka a data structure) to whatever name you pick. You can save data of any format this way.
right hand assigment, by Google Manual bad practice, it exist but do not use it
### arrange() takes, at a minimum, a single column as an argument. It will sort### the table by that column in order from least to greatestiris %>%arrange(Petal.Width)
### You can sort the data by as many columns as you like, although the changes### in the order are smaller with each additional columniris %>%arrange(Petal.Width, Petal.Length, Sepal.Length)
### What if you want to sort from largest to smallest? You can use the helper### function desc() that changes the sort order from largest to smallest.iris %>%arrange(desc(Petal.Width))
The select() function allows you to pick only the columns you want
### For the select() function, you just give it the names of the columns you ### want. For more complicated selection criteria, you probably need to use ### select_if() or select_at() which are beyond the scope of this presentation.iris %>%select(Species, Sepal.Length, Sepal.Width)
The function filter() allows you select a subset of the data according to some criteria. This could be by matching a variable like sample == 's42' or could be base on some numberic value like Sepal.Width < 3 | Sepal.Width > 4
### filter takes that name of the column you want to filter on and some ### logical condition. Here, we'll get only the rows of the table for samples### with Sepal.Lengths greater than 4.5 cms.iris %>%filter(Sepal.Length >5.5, Species =='setosa')
### You can filter by as many things as you wantiris %>%filter(Sepal.Length >4.5, Species %in%c('virginica', 'versicolor'), Sepal.Width <3, Petal.Length >5, Petal.Width >1.5)
The function mutate() adds an additional column onto the table.
A <-data.frame(column1 =c(1,2,3,4,5), column2=c(5,4,3,2,1))A <- A %>%mutate(column1 = column1 +1)A
column1 column2
1 2 5
2 3 4
3 4 3
4 5 2
5 6 1
this is how we would do it with out mutate
A <-data.frame(column1 =c(1,2,3,4,5), column2=c(5,4,3,2,1))A[,1] <- A[,1]+5A
column1 column2
1 6 5
2 7 4
3 8 3
4 9 2
5 10 1
mutate together with conditionif_else`
### mutate() needs the name of the new column equal to whatever will go in the### new column. Frequently that will be a logical statement based on other### data in the table, like in this example where we call any iris with a sepal### length less than 5.8 cm small and all the other irises largeiris %>%mutate(flower_size =if_else(Sepal.Length <5.8, 'small', 'large'))
Sepal.Length Sepal.Width Petal.Length Petal.Width Species flower_size
1 5.1 3.5 1.4 0.2 setosa small
2 4.9 3.0 1.4 0.2 setosa small
3 4.7 3.2 1.3 0.2 setosa small
4 4.6 3.1 1.5 0.2 setosa small
5 5.0 3.6 1.4 0.2 setosa small
6 5.4 3.9 1.7 0.4 setosa small
7 4.6 3.4 1.4 0.3 setosa small
8 5.0 3.4 1.5 0.2 setosa small
9 4.4 2.9 1.4 0.2 setosa small
10 4.9 3.1 1.5 0.1 setosa small
11 5.4 3.7 1.5 0.2 setosa small
12 4.8 3.4 1.6 0.2 setosa small
13 4.8 3.0 1.4 0.1 setosa small
14 4.3 3.0 1.1 0.1 setosa small
15 5.8 4.0 1.2 0.2 setosa large
16 5.7 4.4 1.5 0.4 setosa small
17 5.4 3.9 1.3 0.4 setosa small
18 5.1 3.5 1.4 0.3 setosa small
19 5.7 3.8 1.7 0.3 setosa small
20 5.1 3.8 1.5 0.3 setosa small
21 5.4 3.4 1.7 0.2 setosa small
22 5.1 3.7 1.5 0.4 setosa small
23 4.6 3.6 1.0 0.2 setosa small
24 5.1 3.3 1.7 0.5 setosa small
25 4.8 3.4 1.9 0.2 setosa small
26 5.0 3.0 1.6 0.2 setosa small
27 5.0 3.4 1.6 0.4 setosa small
28 5.2 3.5 1.5 0.2 setosa small
29 5.2 3.4 1.4 0.2 setosa small
30 4.7 3.2 1.6 0.2 setosa small
31 4.8 3.1 1.6 0.2 setosa small
32 5.4 3.4 1.5 0.4 setosa small
33 5.2 4.1 1.5 0.1 setosa small
34 5.5 4.2 1.4 0.2 setosa small
35 4.9 3.1 1.5 0.2 setosa small
36 5.0 3.2 1.2 0.2 setosa small
37 5.5 3.5 1.3 0.2 setosa small
38 4.9 3.6 1.4 0.1 setosa small
39 4.4 3.0 1.3 0.2 setosa small
40 5.1 3.4 1.5 0.2 setosa small
41 5.0 3.5 1.3 0.3 setosa small
42 4.5 2.3 1.3 0.3 setosa small
43 4.4 3.2 1.3 0.2 setosa small
44 5.0 3.5 1.6 0.6 setosa small
45 5.1 3.8 1.9 0.4 setosa small
46 4.8 3.0 1.4 0.3 setosa small
47 5.1 3.8 1.6 0.2 setosa small
48 4.6 3.2 1.4 0.2 setosa small
49 5.3 3.7 1.5 0.2 setosa small
50 5.0 3.3 1.4 0.2 setosa small
51 7.0 3.2 4.7 1.4 versicolor large
52 6.4 3.2 4.5 1.5 versicolor large
53 6.9 3.1 4.9 1.5 versicolor large
54 5.5 2.3 4.0 1.3 versicolor small
55 6.5 2.8 4.6 1.5 versicolor large
56 5.7 2.8 4.5 1.3 versicolor small
57 6.3 3.3 4.7 1.6 versicolor large
58 4.9 2.4 3.3 1.0 versicolor small
59 6.6 2.9 4.6 1.3 versicolor large
60 5.2 2.7 3.9 1.4 versicolor small
61 5.0 2.0 3.5 1.0 versicolor small
62 5.9 3.0 4.2 1.5 versicolor large
63 6.0 2.2 4.0 1.0 versicolor large
64 6.1 2.9 4.7 1.4 versicolor large
65 5.6 2.9 3.6 1.3 versicolor small
66 6.7 3.1 4.4 1.4 versicolor large
67 5.6 3.0 4.5 1.5 versicolor small
68 5.8 2.7 4.1 1.0 versicolor large
69 6.2 2.2 4.5 1.5 versicolor large
70 5.6 2.5 3.9 1.1 versicolor small
71 5.9 3.2 4.8 1.8 versicolor large
72 6.1 2.8 4.0 1.3 versicolor large
73 6.3 2.5 4.9 1.5 versicolor large
74 6.1 2.8 4.7 1.2 versicolor large
75 6.4 2.9 4.3 1.3 versicolor large
76 6.6 3.0 4.4 1.4 versicolor large
77 6.8 2.8 4.8 1.4 versicolor large
78 6.7 3.0 5.0 1.7 versicolor large
79 6.0 2.9 4.5 1.5 versicolor large
80 5.7 2.6 3.5 1.0 versicolor small
81 5.5 2.4 3.8 1.1 versicolor small
82 5.5 2.4 3.7 1.0 versicolor small
83 5.8 2.7 3.9 1.2 versicolor large
84 6.0 2.7 5.1 1.6 versicolor large
85 5.4 3.0 4.5 1.5 versicolor small
86 6.0 3.4 4.5 1.6 versicolor large
87 6.7 3.1 4.7 1.5 versicolor large
88 6.3 2.3 4.4 1.3 versicolor large
89 5.6 3.0 4.1 1.3 versicolor small
90 5.5 2.5 4.0 1.3 versicolor small
91 5.5 2.6 4.4 1.2 versicolor small
92 6.1 3.0 4.6 1.4 versicolor large
93 5.8 2.6 4.0 1.2 versicolor large
94 5.0 2.3 3.3 1.0 versicolor small
95 5.6 2.7 4.2 1.3 versicolor small
96 5.7 3.0 4.2 1.2 versicolor small
97 5.7 2.9 4.2 1.3 versicolor small
98 6.2 2.9 4.3 1.3 versicolor large
99 5.1 2.5 3.0 1.1 versicolor small
100 5.7 2.8 4.1 1.3 versicolor small
101 6.3 3.3 6.0 2.5 virginica large
102 5.8 2.7 5.1 1.9 virginica large
103 7.1 3.0 5.9 2.1 virginica large
104 6.3 2.9 5.6 1.8 virginica large
105 6.5 3.0 5.8 2.2 virginica large
106 7.6 3.0 6.6 2.1 virginica large
107 4.9 2.5 4.5 1.7 virginica small
108 7.3 2.9 6.3 1.8 virginica large
109 6.7 2.5 5.8 1.8 virginica large
110 7.2 3.6 6.1 2.5 virginica large
111 6.5 3.2 5.1 2.0 virginica large
112 6.4 2.7 5.3 1.9 virginica large
113 6.8 3.0 5.5 2.1 virginica large
114 5.7 2.5 5.0 2.0 virginica small
115 5.8 2.8 5.1 2.4 virginica large
116 6.4 3.2 5.3 2.3 virginica large
117 6.5 3.0 5.5 1.8 virginica large
118 7.7 3.8 6.7 2.2 virginica large
119 7.7 2.6 6.9 2.3 virginica large
120 6.0 2.2 5.0 1.5 virginica large
121 6.9 3.2 5.7 2.3 virginica large
122 5.6 2.8 4.9 2.0 virginica small
123 7.7 2.8 6.7 2.0 virginica large
124 6.3 2.7 4.9 1.8 virginica large
125 6.7 3.3 5.7 2.1 virginica large
126 7.2 3.2 6.0 1.8 virginica large
127 6.2 2.8 4.8 1.8 virginica large
128 6.1 3.0 4.9 1.8 virginica large
129 6.4 2.8 5.6 2.1 virginica large
130 7.2 3.0 5.8 1.6 virginica large
131 7.4 2.8 6.1 1.9 virginica large
132 7.9 3.8 6.4 2.0 virginica large
133 6.4 2.8 5.6 2.2 virginica large
134 6.3 2.8 5.1 1.5 virginica large
135 6.1 2.6 5.6 1.4 virginica large
136 7.7 3.0 6.1 2.3 virginica large
137 6.3 3.4 5.6 2.4 virginica large
138 6.4 3.1 5.5 1.8 virginica large
139 6.0 3.0 4.8 1.8 virginica large
140 6.9 3.1 5.4 2.1 virginica large
141 6.7 3.1 5.6 2.4 virginica large
142 6.9 3.1 5.1 2.3 virginica large
143 5.8 2.7 5.1 1.9 virginica large
144 6.8 3.2 5.9 2.3 virginica large
145 6.7 3.3 5.7 2.5 virginica large
146 6.7 3.0 5.2 2.3 virginica large
147 6.3 2.5 5.0 1.9 virginica large
148 6.5 3.0 5.2 2.0 virginica large
149 6.2 3.4 5.4 2.3 virginica large
150 5.9 3.0 5.1 1.8 virginica large
### You can make more than one column in the same mutate call. If you supply a### single value, it will be used for all rows (recycled).iris %>%mutate(flower_size =if_else(Sepal.Length <5.8, 'small', 'large'),second_column ='tidyverse_webinar')
Sepal.Length Sepal.Width Petal.Length Petal.Width Species flower_size
1 5.1 3.5 1.4 0.2 setosa small
2 4.9 3.0 1.4 0.2 setosa small
3 4.7 3.2 1.3 0.2 setosa small
4 4.6 3.1 1.5 0.2 setosa small
5 5.0 3.6 1.4 0.2 setosa small
6 5.4 3.9 1.7 0.4 setosa small
7 4.6 3.4 1.4 0.3 setosa small
8 5.0 3.4 1.5 0.2 setosa small
9 4.4 2.9 1.4 0.2 setosa small
10 4.9 3.1 1.5 0.1 setosa small
11 5.4 3.7 1.5 0.2 setosa small
12 4.8 3.4 1.6 0.2 setosa small
13 4.8 3.0 1.4 0.1 setosa small
14 4.3 3.0 1.1 0.1 setosa small
15 5.8 4.0 1.2 0.2 setosa large
16 5.7 4.4 1.5 0.4 setosa small
17 5.4 3.9 1.3 0.4 setosa small
18 5.1 3.5 1.4 0.3 setosa small
19 5.7 3.8 1.7 0.3 setosa small
20 5.1 3.8 1.5 0.3 setosa small
21 5.4 3.4 1.7 0.2 setosa small
22 5.1 3.7 1.5 0.4 setosa small
23 4.6 3.6 1.0 0.2 setosa small
24 5.1 3.3 1.7 0.5 setosa small
25 4.8 3.4 1.9 0.2 setosa small
26 5.0 3.0 1.6 0.2 setosa small
27 5.0 3.4 1.6 0.4 setosa small
28 5.2 3.5 1.5 0.2 setosa small
29 5.2 3.4 1.4 0.2 setosa small
30 4.7 3.2 1.6 0.2 setosa small
31 4.8 3.1 1.6 0.2 setosa small
32 5.4 3.4 1.5 0.4 setosa small
33 5.2 4.1 1.5 0.1 setosa small
34 5.5 4.2 1.4 0.2 setosa small
35 4.9 3.1 1.5 0.2 setosa small
36 5.0 3.2 1.2 0.2 setosa small
37 5.5 3.5 1.3 0.2 setosa small
38 4.9 3.6 1.4 0.1 setosa small
39 4.4 3.0 1.3 0.2 setosa small
40 5.1 3.4 1.5 0.2 setosa small
41 5.0 3.5 1.3 0.3 setosa small
42 4.5 2.3 1.3 0.3 setosa small
43 4.4 3.2 1.3 0.2 setosa small
44 5.0 3.5 1.6 0.6 setosa small
45 5.1 3.8 1.9 0.4 setosa small
46 4.8 3.0 1.4 0.3 setosa small
47 5.1 3.8 1.6 0.2 setosa small
48 4.6 3.2 1.4 0.2 setosa small
49 5.3 3.7 1.5 0.2 setosa small
50 5.0 3.3 1.4 0.2 setosa small
51 7.0 3.2 4.7 1.4 versicolor large
52 6.4 3.2 4.5 1.5 versicolor large
53 6.9 3.1 4.9 1.5 versicolor large
54 5.5 2.3 4.0 1.3 versicolor small
55 6.5 2.8 4.6 1.5 versicolor large
56 5.7 2.8 4.5 1.3 versicolor small
57 6.3 3.3 4.7 1.6 versicolor large
58 4.9 2.4 3.3 1.0 versicolor small
59 6.6 2.9 4.6 1.3 versicolor large
60 5.2 2.7 3.9 1.4 versicolor small
61 5.0 2.0 3.5 1.0 versicolor small
62 5.9 3.0 4.2 1.5 versicolor large
63 6.0 2.2 4.0 1.0 versicolor large
64 6.1 2.9 4.7 1.4 versicolor large
65 5.6 2.9 3.6 1.3 versicolor small
66 6.7 3.1 4.4 1.4 versicolor large
67 5.6 3.0 4.5 1.5 versicolor small
68 5.8 2.7 4.1 1.0 versicolor large
69 6.2 2.2 4.5 1.5 versicolor large
70 5.6 2.5 3.9 1.1 versicolor small
71 5.9 3.2 4.8 1.8 versicolor large
72 6.1 2.8 4.0 1.3 versicolor large
73 6.3 2.5 4.9 1.5 versicolor large
74 6.1 2.8 4.7 1.2 versicolor large
75 6.4 2.9 4.3 1.3 versicolor large
76 6.6 3.0 4.4 1.4 versicolor large
77 6.8 2.8 4.8 1.4 versicolor large
78 6.7 3.0 5.0 1.7 versicolor large
79 6.0 2.9 4.5 1.5 versicolor large
80 5.7 2.6 3.5 1.0 versicolor small
81 5.5 2.4 3.8 1.1 versicolor small
82 5.5 2.4 3.7 1.0 versicolor small
83 5.8 2.7 3.9 1.2 versicolor large
84 6.0 2.7 5.1 1.6 versicolor large
85 5.4 3.0 4.5 1.5 versicolor small
86 6.0 3.4 4.5 1.6 versicolor large
87 6.7 3.1 4.7 1.5 versicolor large
88 6.3 2.3 4.4 1.3 versicolor large
89 5.6 3.0 4.1 1.3 versicolor small
90 5.5 2.5 4.0 1.3 versicolor small
91 5.5 2.6 4.4 1.2 versicolor small
92 6.1 3.0 4.6 1.4 versicolor large
93 5.8 2.6 4.0 1.2 versicolor large
94 5.0 2.3 3.3 1.0 versicolor small
95 5.6 2.7 4.2 1.3 versicolor small
96 5.7 3.0 4.2 1.2 versicolor small
97 5.7 2.9 4.2 1.3 versicolor small
98 6.2 2.9 4.3 1.3 versicolor large
99 5.1 2.5 3.0 1.1 versicolor small
100 5.7 2.8 4.1 1.3 versicolor small
101 6.3 3.3 6.0 2.5 virginica large
102 5.8 2.7 5.1 1.9 virginica large
103 7.1 3.0 5.9 2.1 virginica large
104 6.3 2.9 5.6 1.8 virginica large
105 6.5 3.0 5.8 2.2 virginica large
106 7.6 3.0 6.6 2.1 virginica large
107 4.9 2.5 4.5 1.7 virginica small
108 7.3 2.9 6.3 1.8 virginica large
109 6.7 2.5 5.8 1.8 virginica large
110 7.2 3.6 6.1 2.5 virginica large
111 6.5 3.2 5.1 2.0 virginica large
112 6.4 2.7 5.3 1.9 virginica large
113 6.8 3.0 5.5 2.1 virginica large
114 5.7 2.5 5.0 2.0 virginica small
115 5.8 2.8 5.1 2.4 virginica large
116 6.4 3.2 5.3 2.3 virginica large
117 6.5 3.0 5.5 1.8 virginica large
118 7.7 3.8 6.7 2.2 virginica large
119 7.7 2.6 6.9 2.3 virginica large
120 6.0 2.2 5.0 1.5 virginica large
121 6.9 3.2 5.7 2.3 virginica large
122 5.6 2.8 4.9 2.0 virginica small
123 7.7 2.8 6.7 2.0 virginica large
124 6.3 2.7 4.9 1.8 virginica large
125 6.7 3.3 5.7 2.1 virginica large
126 7.2 3.2 6.0 1.8 virginica large
127 6.2 2.8 4.8 1.8 virginica large
128 6.1 3.0 4.9 1.8 virginica large
129 6.4 2.8 5.6 2.1 virginica large
130 7.2 3.0 5.8 1.6 virginica large
131 7.4 2.8 6.1 1.9 virginica large
132 7.9 3.8 6.4 2.0 virginica large
133 6.4 2.8 5.6 2.2 virginica large
134 6.3 2.8 5.1 1.5 virginica large
135 6.1 2.6 5.6 1.4 virginica large
136 7.7 3.0 6.1 2.3 virginica large
137 6.3 3.4 5.6 2.4 virginica large
138 6.4 3.1 5.5 1.8 virginica large
139 6.0 3.0 4.8 1.8 virginica large
140 6.9 3.1 5.4 2.1 virginica large
141 6.7 3.1 5.6 2.4 virginica large
142 6.9 3.1 5.1 2.3 virginica large
143 5.8 2.7 5.1 1.9 virginica large
144 6.8 3.2 5.9 2.3 virginica large
145 6.7 3.3 5.7 2.5 virginica large
146 6.7 3.0 5.2 2.3 virginica large
147 6.3 2.5 5.0 1.9 virginica large
148 6.5 3.0 5.2 2.0 virginica large
149 6.2 3.4 5.4 2.3 virginica large
150 5.9 3.0 5.1 1.8 virginica large
second_column
1 tidyverse_webinar
2 tidyverse_webinar
3 tidyverse_webinar
4 tidyverse_webinar
5 tidyverse_webinar
6 tidyverse_webinar
7 tidyverse_webinar
8 tidyverse_webinar
9 tidyverse_webinar
10 tidyverse_webinar
11 tidyverse_webinar
12 tidyverse_webinar
13 tidyverse_webinar
14 tidyverse_webinar
15 tidyverse_webinar
16 tidyverse_webinar
17 tidyverse_webinar
18 tidyverse_webinar
19 tidyverse_webinar
20 tidyverse_webinar
21 tidyverse_webinar
22 tidyverse_webinar
23 tidyverse_webinar
24 tidyverse_webinar
25 tidyverse_webinar
26 tidyverse_webinar
27 tidyverse_webinar
28 tidyverse_webinar
29 tidyverse_webinar
30 tidyverse_webinar
31 tidyverse_webinar
32 tidyverse_webinar
33 tidyverse_webinar
34 tidyverse_webinar
35 tidyverse_webinar
36 tidyverse_webinar
37 tidyverse_webinar
38 tidyverse_webinar
39 tidyverse_webinar
40 tidyverse_webinar
41 tidyverse_webinar
42 tidyverse_webinar
43 tidyverse_webinar
44 tidyverse_webinar
45 tidyverse_webinar
46 tidyverse_webinar
47 tidyverse_webinar
48 tidyverse_webinar
49 tidyverse_webinar
50 tidyverse_webinar
51 tidyverse_webinar
52 tidyverse_webinar
53 tidyverse_webinar
54 tidyverse_webinar
55 tidyverse_webinar
56 tidyverse_webinar
57 tidyverse_webinar
58 tidyverse_webinar
59 tidyverse_webinar
60 tidyverse_webinar
61 tidyverse_webinar
62 tidyverse_webinar
63 tidyverse_webinar
64 tidyverse_webinar
65 tidyverse_webinar
66 tidyverse_webinar
67 tidyverse_webinar
68 tidyverse_webinar
69 tidyverse_webinar
70 tidyverse_webinar
71 tidyverse_webinar
72 tidyverse_webinar
73 tidyverse_webinar
74 tidyverse_webinar
75 tidyverse_webinar
76 tidyverse_webinar
77 tidyverse_webinar
78 tidyverse_webinar
79 tidyverse_webinar
80 tidyverse_webinar
81 tidyverse_webinar
82 tidyverse_webinar
83 tidyverse_webinar
84 tidyverse_webinar
85 tidyverse_webinar
86 tidyverse_webinar
87 tidyverse_webinar
88 tidyverse_webinar
89 tidyverse_webinar
90 tidyverse_webinar
91 tidyverse_webinar
92 tidyverse_webinar
93 tidyverse_webinar
94 tidyverse_webinar
95 tidyverse_webinar
96 tidyverse_webinar
97 tidyverse_webinar
98 tidyverse_webinar
99 tidyverse_webinar
100 tidyverse_webinar
101 tidyverse_webinar
102 tidyverse_webinar
103 tidyverse_webinar
104 tidyverse_webinar
105 tidyverse_webinar
106 tidyverse_webinar
107 tidyverse_webinar
108 tidyverse_webinar
109 tidyverse_webinar
110 tidyverse_webinar
111 tidyverse_webinar
112 tidyverse_webinar
113 tidyverse_webinar
114 tidyverse_webinar
115 tidyverse_webinar
116 tidyverse_webinar
117 tidyverse_webinar
118 tidyverse_webinar
119 tidyverse_webinar
120 tidyverse_webinar
121 tidyverse_webinar
122 tidyverse_webinar
123 tidyverse_webinar
124 tidyverse_webinar
125 tidyverse_webinar
126 tidyverse_webinar
127 tidyverse_webinar
128 tidyverse_webinar
129 tidyverse_webinar
130 tidyverse_webinar
131 tidyverse_webinar
132 tidyverse_webinar
133 tidyverse_webinar
134 tidyverse_webinar
135 tidyverse_webinar
136 tidyverse_webinar
137 tidyverse_webinar
138 tidyverse_webinar
139 tidyverse_webinar
140 tidyverse_webinar
141 tidyverse_webinar
142 tidyverse_webinar
143 tidyverse_webinar
144 tidyverse_webinar
145 tidyverse_webinar
146 tidyverse_webinar
147 tidyverse_webinar
148 tidyverse_webinar
149 tidyverse_webinar
150 tidyverse_webinar
Sepal.Length Sepal.Width Petal.Length Petal.Width Species flower_size
1 5.1 3.5 1.4 0.2 setosa medium
2 4.9 3.0 1.4 0.2 setosa medium
3 4.7 3.2 1.3 0.2 setosa medium
4 4.6 3.1 1.5 0.2 setosa medium
5 5.0 3.6 1.4 0.2 setosa medium
6 5.4 3.9 1.7 0.4 setosa medium
7 4.6 3.4 1.4 0.3 setosa medium
8 5.0 3.4 1.5 0.2 setosa medium
9 4.4 2.9 1.4 0.2 setosa medium
10 4.9 3.1 1.5 0.1 setosa medium
11 5.4 3.7 1.5 0.2 setosa medium
12 4.8 3.4 1.6 0.2 setosa medium
13 4.8 3.0 1.4 0.1 setosa medium
14 4.3 3.0 1.1 0.1 setosa medium
15 5.8 4.0 1.2 0.2 setosa medium
16 5.7 4.4 1.5 0.4 setosa medium
17 5.4 3.9 1.3 0.4 setosa medium
18 5.1 3.5 1.4 0.3 setosa medium
19 5.7 3.8 1.7 0.3 setosa medium
20 5.1 3.8 1.5 0.3 setosa medium
21 5.4 3.4 1.7 0.2 setosa medium
22 5.1 3.7 1.5 0.4 setosa medium
23 4.6 3.6 1.0 0.2 setosa medium
24 5.1 3.3 1.7 0.5 setosa medium
25 4.8 3.4 1.9 0.2 setosa medium
26 5.0 3.0 1.6 0.2 setosa medium
27 5.0 3.4 1.6 0.4 setosa medium
28 5.2 3.5 1.5 0.2 setosa medium
29 5.2 3.4 1.4 0.2 setosa medium
30 4.7 3.2 1.6 0.2 setosa medium
31 4.8 3.1 1.6 0.2 setosa medium
32 5.4 3.4 1.5 0.4 setosa medium
33 5.2 4.1 1.5 0.1 setosa medium
34 5.5 4.2 1.4 0.2 setosa medium
35 4.9 3.1 1.5 0.2 setosa medium
36 5.0 3.2 1.2 0.2 setosa medium
37 5.5 3.5 1.3 0.2 setosa medium
38 4.9 3.6 1.4 0.1 setosa medium
39 4.4 3.0 1.3 0.2 setosa medium
40 5.1 3.4 1.5 0.2 setosa medium
41 5.0 3.5 1.3 0.3 setosa medium
42 4.5 2.3 1.3 0.3 setosa medium
43 4.4 3.2 1.3 0.2 setosa medium
44 5.0 3.5 1.6 0.6 setosa medium
45 5.1 3.8 1.9 0.4 setosa medium
46 4.8 3.0 1.4 0.3 setosa medium
47 5.1 3.8 1.6 0.2 setosa medium
48 4.6 3.2 1.4 0.2 setosa medium
49 5.3 3.7 1.5 0.2 setosa medium
50 5.0 3.3 1.4 0.2 setosa medium
51 7.0 3.2 4.7 1.4 versicolor large
52 6.4 3.2 4.5 1.5 versicolor large
53 6.9 3.1 4.9 1.5 versicolor large
54 5.5 2.3 4.0 1.3 versicolor medium
55 6.5 2.8 4.6 1.5 versicolor large
56 5.7 2.8 4.5 1.3 versicolor medium
57 6.3 3.3 4.7 1.6 versicolor large
58 4.9 2.4 3.3 1.0 versicolor medium
59 6.6 2.9 4.6 1.3 versicolor large
60 5.2 2.7 3.9 1.4 versicolor medium
61 5.0 2.0 3.5 1.0 versicolor medium
62 5.9 3.0 4.2 1.5 versicolor medium
63 6.0 2.2 4.0 1.0 versicolor large
64 6.1 2.9 4.7 1.4 versicolor large
65 5.6 2.9 3.6 1.3 versicolor medium
66 6.7 3.1 4.4 1.4 versicolor large
67 5.6 3.0 4.5 1.5 versicolor medium
68 5.8 2.7 4.1 1.0 versicolor medium
69 6.2 2.2 4.5 1.5 versicolor large
70 5.6 2.5 3.9 1.1 versicolor medium
71 5.9 3.2 4.8 1.8 versicolor medium
72 6.1 2.8 4.0 1.3 versicolor large
73 6.3 2.5 4.9 1.5 versicolor large
74 6.1 2.8 4.7 1.2 versicolor large
75 6.4 2.9 4.3 1.3 versicolor large
76 6.6 3.0 4.4 1.4 versicolor large
77 6.8 2.8 4.8 1.4 versicolor large
78 6.7 3.0 5.0 1.7 versicolor large
79 6.0 2.9 4.5 1.5 versicolor large
80 5.7 2.6 3.5 1.0 versicolor medium
81 5.5 2.4 3.8 1.1 versicolor medium
82 5.5 2.4 3.7 1.0 versicolor medium
83 5.8 2.7 3.9 1.2 versicolor medium
84 6.0 2.7 5.1 1.6 versicolor large
85 5.4 3.0 4.5 1.5 versicolor medium
86 6.0 3.4 4.5 1.6 versicolor large
87 6.7 3.1 4.7 1.5 versicolor large
88 6.3 2.3 4.4 1.3 versicolor large
89 5.6 3.0 4.1 1.3 versicolor medium
90 5.5 2.5 4.0 1.3 versicolor medium
91 5.5 2.6 4.4 1.2 versicolor medium
92 6.1 3.0 4.6 1.4 versicolor large
93 5.8 2.6 4.0 1.2 versicolor medium
94 5.0 2.3 3.3 1.0 versicolor medium
95 5.6 2.7 4.2 1.3 versicolor medium
96 5.7 3.0 4.2 1.2 versicolor medium
97 5.7 2.9 4.2 1.3 versicolor medium
98 6.2 2.9 4.3 1.3 versicolor large
99 5.1 2.5 3.0 1.1 versicolor medium
100 5.7 2.8 4.1 1.3 versicolor medium
101 6.3 3.3 6.0 2.5 virginica large
102 5.8 2.7 5.1 1.9 virginica medium
103 7.1 3.0 5.9 2.1 virginica large
104 6.3 2.9 5.6 1.8 virginica large
105 6.5 3.0 5.8 2.2 virginica large
106 7.6 3.0 6.6 2.1 virginica large
107 4.9 2.5 4.5 1.7 virginica medium
108 7.3 2.9 6.3 1.8 virginica large
109 6.7 2.5 5.8 1.8 virginica large
110 7.2 3.6 6.1 2.5 virginica large
111 6.5 3.2 5.1 2.0 virginica large
112 6.4 2.7 5.3 1.9 virginica large
113 6.8 3.0 5.5 2.1 virginica large
114 5.7 2.5 5.0 2.0 virginica medium
115 5.8 2.8 5.1 2.4 virginica medium
116 6.4 3.2 5.3 2.3 virginica large
117 6.5 3.0 5.5 1.8 virginica large
118 7.7 3.8 6.7 2.2 virginica large
119 7.7 2.6 6.9 2.3 virginica large
120 6.0 2.2 5.0 1.5 virginica large
121 6.9 3.2 5.7 2.3 virginica large
122 5.6 2.8 4.9 2.0 virginica medium
123 7.7 2.8 6.7 2.0 virginica large
124 6.3 2.7 4.9 1.8 virginica large
125 6.7 3.3 5.7 2.1 virginica large
126 7.2 3.2 6.0 1.8 virginica large
127 6.2 2.8 4.8 1.8 virginica large
128 6.1 3.0 4.9 1.8 virginica large
129 6.4 2.8 5.6 2.1 virginica large
130 7.2 3.0 5.8 1.6 virginica large
131 7.4 2.8 6.1 1.9 virginica large
132 7.9 3.8 6.4 2.0 virginica large
133 6.4 2.8 5.6 2.2 virginica large
134 6.3 2.8 5.1 1.5 virginica large
135 6.1 2.6 5.6 1.4 virginica large
136 7.7 3.0 6.1 2.3 virginica large
137 6.3 3.4 5.6 2.4 virginica large
138 6.4 3.1 5.5 1.8 virginica large
139 6.0 3.0 4.8 1.8 virginica large
140 6.9 3.1 5.4 2.1 virginica large
141 6.7 3.1 5.6 2.4 virginica large
142 6.9 3.1 5.1 2.3 virginica large
143 5.8 2.7 5.1 1.9 virginica medium
144 6.8 3.2 5.9 2.3 virginica large
145 6.7 3.3 5.7 2.5 virginica large
146 6.7 3.0 5.2 2.3 virginica large
147 6.3 2.5 5.0 1.9 virginica large
148 6.5 3.0 5.2 2.0 virginica large
149 6.2 3.4 5.4 2.3 virginica large
150 5.9 3.0 5.1 1.8 virginica medium
summarize()
Lets you reduce the data down to some summary statistics or other summary function
### summarize() works similarly to mutate(), but instead of adding an ### additional column with an entry for all rows, it will reduce to the number### summaries you asked for. Like mutate(), summarize() needs the name of the### summary column equal to the calculation you're making. Here, we'll make the### summary column "average" which is equal to the mean of the petal lengthsiris %>%summarize(average =mean(Petal.Length))
average
1 3.758
### For most tidyverse functions, either the British or American spellings can### be used. Frequently the British spelling comes up by default because Hadley### Wickham is from New Zealand.iris %>%summarise(average =mean(Petal.Length))
average
1 3.758
### summarize() is very powerful when used with group_by(). group_by() causes ### all functions later in the pipeline to be applied over the specified groupiris %>%group_by(Species) %>%summarize(average =mean(Petal.Length))
# A tibble: 3 × 2
Species average
<fct> <dbl>
1 setosa 1.46
2 versicolor 4.26
3 virginica 5.55
### Don't forget to ungroup() because grouping will mess up your code lateriris %>%group_by(Species) %>%summarize(average =mean(Petal.Length)) %>%ungroup()
# A tibble: 3 × 2
Species average
<fct> <dbl>
1 setosa 1.46
2 versicolor 4.26
3 virginica 5.55
### You can calculate more than one summary at a time as long as they (for the### moment) have a single thing as their outputiris %>%group_by(Species) %>%summarize(avg_pl =mean(Petal.Length),avg_pw =mean(Petal.Width),sd_pl =sd(Petal.Length),sd_pw =sd(Petal.Width)) %>%ungroup()
The function count() is like a special case of summarize(), but all it does is count the number of distinct things in the column(s).
### count() takes the name of the column you wantiris %>%count(Species)
Species n
1 setosa 50
2 versicolor 50
3 virginica 50
### It's particularly powerful when combined with group_by(), like summarize() isiris %>%mutate(flower_size =ifelse(Sepal.Length <5.8, 'small', 'large')) %>%group_by(flower_size) %>%count(Species)
# A tibble: 6 × 3
# Groups: flower_size [2]
flower_size Species n
<chr> <fct> <int>
1 large setosa 1
2 large versicolor 29
3 large virginica 47
4 small setosa 49
5 small versicolor 21
6 small virginica 3
### You can also count() multiple things at onceiris %>%mutate(flower_size =ifelse(Sepal.Length <5.8, 'small', 'large')) %>%count(Species, flower_size)
Species flower_size n
1 setosa large 1
2 setosa small 49
3 versicolor large 29
4 versicolor small 21
5 virginica large 47
6 virginica small 3