# Import library
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 3.3.3
## Loading tidyverse: ggplot2
## Loading tidyverse: tibble
## Loading tidyverse: tidyr
## Loading tidyverse: readr
## Loading tidyverse: purrr
## Loading tidyverse: dplyr
## Warning: package 'ggplot2' was built under R version 3.3.3
## Warning: package 'tibble' was built under R version 3.3.3
## Warning: package 'tidyr' was built under R version 3.3.3
## Warning: package 'readr' was built under R version 3.3.3
## Warning: package 'purrr' was built under R version 3.3.3
## Warning: package 'dplyr' was built under R version 3.3.3
## Conflicts with tidy packages ----------------------------------------------
## filter(): dplyr, stats
## lag(): dplyr, stats
# Working with diamonds dataset in ggplot2 package
## Check all available dataset in a particular package
data(package="ggplot2")
p<-ggplot(data=diamonds,aes(x=diamonds$depth,fill=cut)) + geom_density(alpha=0.2) + scale_fill_discrete(name="Cut Type") + theme_classic() + xlab("Depth") + ggtitle("Density Plot")
# one can add facet
p + facet_wrap(~cut, ncol=1,scales="free")

# This small practice will work with iris data from caret package
library(caret)
## Warning: package 'caret' was built under R version 3.3.3
## Loading required package: lattice
## Warning: package 'lattice' was built under R version 3.3.3
##
## Attaching package: 'caret'
## The following object is masked from 'package:purrr':
##
## lift
dataset<-iris
# gather function is to convert wide data to long data
dataset_gather<-dataset %>% tidyr::gather(key=Type,value = Values,1:4)
head(dataset_gather)
## Species Type Values
## 1 setosa Sepal.Length 5.1
## 2 setosa Sepal.Length 4.9
## 3 setosa Sepal.Length 4.7
## 4 setosa Sepal.Length 4.6
## 5 setosa Sepal.Length 5.0
## 6 setosa Sepal.Length 5.4
# spead is the opposite of gather
# dataset_spead<- dataset_gather%>%tidyr::spread(key = Type,value = Values)
## this funciton throws an error like this Error: Duplicate identifiers for rows