library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

DATA

data<-tibble::as_tibble(airquality)
print(data)
## # A tibble: 153 × 6
##    Ozone Solar.R  Wind  Temp Month   Day
##    <int>   <int> <dbl> <int> <int> <int>
##  1    41     190   7.4    67     5     1
##  2    36     118   8      72     5     2
##  3    12     149  12.6    74     5     3
##  4    18     313  11.5    62     5     4
##  5    NA      NA  14.3    56     5     5
##  6    28      NA  14.9    66     5     6
##  7    23     299   8.6    65     5     7
##  8    19      99  13.8    59     5     8
##  9     8      19  20.1    61     5     9
## 10    NA     194   8.6    69     5    10
## # ℹ 143 more rows

##SUMMARISE

data_summarised <- data %>%
  summarise(avg_Temp = mean(Temp), 
            max_Temp = max(Temp),
            min_Temp = min(Temp) 
            )

head(data_summarised)
## # A tibble: 1 × 3
##   avg_Temp max_Temp min_Temp
##      <dbl>    <int>    <int>
## 1     77.9       97       56

##ARRANGE

data_arranged <- data %>%
  arrange(desc(Temp))

head(data_arranged)
## # A tibble: 6 × 6
##   Ozone Solar.R  Wind  Temp Month   Day
##   <int>   <int> <dbl> <int> <int> <int>
## 1    76     203   9.7    97     8    28
## 2    84     237   6.3    96     8    30
## 3   118     225   2.3    94     8    29
## 4    85     188   6.3    94     8    31
## 5    NA     259  10.9    93     6    11
## 6    73     183   2.8    93     9     3

##FILTER

data_filtered <- data %>%
  filter(Day < 2)

head(data_filtered)
## # A tibble: 5 × 6
##   Ozone Solar.R  Wind  Temp Month   Day
##   <int>   <int> <dbl> <int> <int> <int>
## 1    41     190   7.4    67     5     1
## 2    NA     286   8.6    78     6     1
## 3   135     269   4.1    84     7     1
## 4    39      83   6.9    81     8     1
## 5    96     167   6.9    91     9     1

##MUTATE

data_mutated <- data %>%
  mutate(solar_per_temp = Solar.R / Temp)

head(data_mutated)
## # A tibble: 6 × 7
##   Ozone Solar.R  Wind  Temp Month   Day solar_per_temp
##   <int>   <int> <dbl> <int> <int> <int>          <dbl>
## 1    41     190   7.4    67     5     1           2.84
## 2    36     118   8      72     5     2           1.64
## 3    12     149  12.6    74     5     3           2.01
## 4    18     313  11.5    62     5     4           5.05
## 5    NA      NA  14.3    56     5     5          NA   
## 6    28      NA  14.9    66     5     6          NA

##SELECT

data_selected <- data %>%
  select(Day, Month, Wind)

head(data_selected)
## # A tibble: 6 × 3
##     Day Month  Wind
##   <int> <int> <dbl>
## 1     1     5   7.4
## 2     2     5   8  
## 3     3     5  12.6
## 4     4     5  11.5
## 5     5     5  14.3
## 6     6     5  14.9

##FILTER+ARRANGE

data_filtered_arranged <- data %>%
  filter(Day < 6) %>%
  arrange(desc(Temp))

head(data_filtered_arranged)
## # A tibble: 6 × 6
##   Ozone Solar.R  Wind  Temp Month   Day
##   <int>   <int> <dbl> <int> <int> <int>
## 1    73     183   2.8    93     9     3
## 2    91     189   4.6    93     9     4
## 3    78     197   5.1    92     9     2
## 4    96     167   6.9    91     9     1
## 5    47      95   7.4    87     9     5
## 6    78      NA   6.9    86     8     4