5.2 Manipulating Data Frames

The dplyr package from the tidyverse introduces functions that perform some of the most common operations when working with data frames and uses names for these functions that are relatively easy to remember.

5.2.3 Subsetting with filter()

Note: Whether you put the whole code on one line or split it after a comma does not have an effect on the computation, it is only more readable when the lines aren’t too wide.

5.2.5 The pipe %>%

With the package dplyr we can perform a series of operations, for example select and then filter, by sending the results of one function to another using what is called the pipe operator: %>%.

Details can be found in Introduction to Data Science - Chapter 4.5

5.2.6 Wide to Long

##                  time FlatA_Hum FlatA_Temp FlatB_Hum FlatB_Temp FlatC_Hum
## 1 2018-10-03 00:00:00      53.0      24.43      38.8      22.40      44.0
## 2 2018-10-03 01:00:00      53.0      24.40      38.8      22.40      44.0
## 3 2018-10-03 02:00:00      53.0      24.40      39.3      22.40      44.7
## 4 2018-10-03 03:00:00      53.0      24.40      40.3      22.40      45.0
## 5 2018-10-03 04:00:00      53.3      24.40      41.0      22.37      45.2
##   FlatC_Temp FlatD_Hum FlatD_Temp
## 1       24.5      49.0      24.43
## 2       24.5      49.0      24.40
## 3       24.5      48.3      24.38
## 4       24.5      48.0      24.33
## 5       24.5      47.7      24.30
##                   time     sensor value
## 1  2018-10-03 00:00:00  FlatA_Hum 53.00
## 2  2018-10-03 00:00:00 FlatA_Temp 24.43
## 3  2018-10-03 00:00:00  FlatB_Hum 38.80
## 4  2018-10-03 00:00:00 FlatB_Temp 22.40
## 5  2018-10-03 00:00:00  FlatC_Hum 44.00
## 6  2018-10-03 00:00:00 FlatC_Temp 24.50
## 7  2018-10-03 00:00:00  FlatD_Hum 49.00
## 8  2018-10-03 00:00:00 FlatD_Temp 24.43
## 9  2018-10-03 01:00:00  FlatA_Hum 53.00
## 10 2018-10-03 01:00:00 FlatA_Temp 24.40
## 11 2018-10-03 01:00:00  FlatB_Hum 38.80
## 12 2018-10-03 01:00:00 FlatB_Temp 22.40
## 13 2018-10-03 01:00:00  FlatC_Hum 44.00
## 14 2018-10-03 01:00:00 FlatC_Temp 24.50
## 15 2018-10-03 01:00:00  FlatD_Hum 49.00
## 16 2018-10-03 01:00:00 FlatD_Temp 24.40

5.2.7 Long to Wide

##                  time     sensor value
## 1 2018-10-03 00:00:00  FlatA_Hum 53.00
## 2 2018-10-03 00:00:00 FlatA_Temp 24.43
## 3 2018-10-03 00:00:00  FlatB_Hum 38.80
## 4 2018-10-03 00:00:00 FlatB_Temp 22.40
## 5 2018-10-03 00:00:00  FlatC_Hum 44.00
## 6 2018-10-03 00:00:00 FlatC_Temp 24.50
##                  time FlatA_Hum FlatA_Temp FlatB_Hum FlatB_Temp FlatC_Hum
## 1 2018-10-03 00:00:00      53.0      24.43      38.8      22.40      44.0
## 2 2018-10-03 01:00:00      53.0      24.40      38.8      22.40      44.0
## 3 2018-10-03 02:00:00      53.0      24.40      39.3      22.40      44.7
## 4 2018-10-03 03:00:00      53.0      24.40      40.3      22.40      45.0
## 5 2018-10-03 04:00:00      53.3      24.40      41.0      22.37      45.2
## 6 2018-10-03 05:00:00      53.7      24.40      41.2      22.30      47.2
##   FlatC_Temp FlatD_Hum FlatD_Temp
## 1      24.50      49.0      24.43
## 2      24.50      49.0      24.40
## 3      24.50      48.3      24.38
## 4      24.50      48.0      24.33
## 5      24.50      47.7      24.30
## 6      24.57      47.2      24.30

5.2.8 Merge two Dataframes

##                  time centralOutsideTemp FlatA_Hum FlatA_Temp FlatB_Hum
## 1 2018-10-03 00:00:00              11.80      53.0      24.43      38.8
## 2 2018-10-03 01:00:00              11.25      53.0      24.40      38.8
## 3 2018-10-03 02:00:00              11.45      53.0      24.40      39.3
## 4 2018-10-03 03:00:00              11.40      53.0      24.40      40.3
## 5 2018-10-03 04:00:00              11.10      53.3      24.40      41.0
## 6 2018-10-03 05:00:00              11.05      53.7      24.40      41.2
##   FlatB_Temp FlatC_Hum FlatC_Temp FlatD_Hum FlatD_Temp
## 1      22.40      44.0      24.50      49.0      24.43
## 2      22.40      44.0      24.50      49.0      24.40
## 3      22.40      44.7      24.50      48.3      24.38
## 4      22.40      45.0      24.50      48.0      24.33
## 5      22.37      45.2      24.50      47.7      24.30
## 6      22.30      47.2      24.57      47.2      24.30