library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.6     v dplyr   1.0.8
## v tidyr   1.2.0     v stringr 1.4.0
## v readr   2.1.2     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
data(iris)
class(iris)
## [1] "data.frame"
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~
#This is a dataframe with 5 columns and 150 rows
head(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
str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
iris1<- filter(iris, Species %in% c("versicolor" , "virginica"), 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 observations, 5 variables

iris2<- select(iris1, Species, Sepal.Length, Sepal.Width)
#56 observations, 3 variables
iris3 <- arrange( iris2, Sepal.Length)
head(iris3)
##      Species Sepal.Length Sepal.Width
## 1 versicolor          6.1         2.9
## 2 versicolor          6.1         2.8
## 3 versicolor          6.1         2.8
## 4 versicolor          6.1         3.0
## 5  virginica          6.1         3.0
## 6  virginica          6.1         2.6
iris4<- mutate(iris3, Sepal.Area= Sepal.Length*Sepal.Width)
# 56 observations, 4 variables
glimpse(iris4)
## Rows: 56
## Columns: 4
## $ Species      <fct> versicolor, versicolor, versicolor, versicolor, virginica~
## $ Sepal.Length <dbl> 6.1, 6.1, 6.1, 6.1, 6.1, 6.1, 6.2, 6.2, 6.2, 6.3, 6.3, 6.~
## $ Sepal.Width  <dbl> 2.9, 2.8, 2.8, 3.0, 3.0, 2.6, 2.9, 2.8, 3.4, 3.3, 3.3, 2.~
## $ Sepal.Area   <dbl> 17.69, 17.08, 17.08, 18.30, 18.30, 15.86, 17.98, 17.36, 2~
iris5<- summarize(iris4, Mean.Width= mean(Sepal.Width), Mean.Length= mean(Sepal.Length), Mean.Area=mean(Sepal.Area), TotalNumber=n())
print(iris5)
##   Mean.Width Mean.Length Mean.Area TotalNumber
## 1   3.041071    6.698214  20.40464          56
iris6<- group_by(iris4, Species)
summarize(iris6, Mean.Width= mean(Sepal.Width), Mean.Length= mean(Sepal.Length))
## # A tibble: 2 x 3
##   Species    Mean.Width Mean.Length
##   <fct>           <dbl>       <dbl>
## 1 versicolor       2.99        6.48
## 2 virginica        3.06        6.79
print(iris6)
## # A tibble: 56 x 4
## # Groups:   Species [2]
##    Species    Sepal.Length Sepal.Width Sepal.Area
##    <fct>             <dbl>       <dbl>      <dbl>
##  1 versicolor          6.1         2.9       17.7
##  2 versicolor          6.1         2.8       17.1
##  3 versicolor          6.1         2.8       17.1
##  4 versicolor          6.1         3         18.3
##  5 virginica           6.1         3         18.3
##  6 virginica           6.1         2.6       15.9
##  7 versicolor          6.2         2.9       18.0
##  8 virginica           6.2         2.8       17.4
##  9 virginica           6.2         3.4       21.1
## 10 versicolor          6.3         3.3       20.8
## # ... with 46 more rows
iris %>%
  filter(Species %in% c("versicolor" , "virginica"), Sepal.Length > 6, Sepal.Width > 2.5) %>%
  select(Species, Sepal.Length,Sepal.Width) %>%
  arrange(Sepal.Length) %>%
  mutate(Sepal.Area=Sepal.Length*Sepal.Width) %>%
  summarize( Mean.Width= mean(Sepal.Width), Mean.Length= mean(Sepal.Length)) %>%
  {irisFinal <<- .}
  
  
iris %>%
  pivot_longer(cols=Sepal.Length:Sepal.Width:Petal.Length:Petal.Width, names_to ="Measure") %>%
  {longer_iris <<- .}
## Warning in x:y: numerical expression has 2 elements: only the first used
## Warning in x:y: numerical expression has 3 elements: only the first used