dplyr
packagelibrary(sqldf)
library(dplyr)
library(tidyverse)
data("iris")
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 ...
There are 150 observations and 5 variables.
iris1 <- filter(iris, Species %in% c("virginica", "versicolor"), Sepal.Length > 6, Sepal.Width > 2.5)
There are 56 observations of 5 variables.
iris2 <- select(iris1, -(Petal.Length:Petal.Width))
There are 56 observations of 3 variables.
iris3 <- arrange(iris2, by=desc(Sepal.Length))
head(iris3)
## Sepal.Length Sepal.Width Species
## 1 7.9 3.8 virginica
## 2 7.7 3.8 virginica
## 3 7.7 2.6 virginica
## 4 7.7 2.8 virginica
## 5 7.7 3.0 virginica
## 6 7.6 3.0 virginica
iris4 <- mutate(iris3, Sepal.Area=Sepal.Length*Sepal.Width)
There are 56 observations of 4 variables.
iris5 <- summarize(iris4, avgLength=mean(Sepal.Length), avgWidth=mean(Sepal.Width), Totalnumber=n())
print(iris5)
## avgLength avgWidth Totalnumber
## 1 6.698214 3.041071 56
iris6 <- summarize(iris4, avgLength=mean(Sepal.Length), avgWidth=mean(Sepal.Width), sizeVirginica=length(which(iris4$Species=="virginica")), sizeVersicolor=length(which(iris4$Species=="versicolor")))
print(iris6)
## avgLength avgWidth sizeVirginica sizeVersicolor
## 1 6.698214 3.041071 39 17
irisFinal <- iris %>%
filter(Species %in% c("virginica", "versicolor"), Sepal.Length > 6, Sepal.Width > 2.5) %>%
select(-(Petal.Length:Petal.Width)) %>%
arrange(by=desc(Sepal.Length)) %>%
mutate(Sepal.Area=Sepal.Length*Sepal.Width)
head(irisFinal)
## Sepal.Length Sepal.Width Species Sepal.Area
## 1 7.9 3.8 virginica 30.02
## 2 7.7 3.8 virginica 29.26
## 3 7.7 2.6 virginica 20.02
## 4 7.7 2.8 virginica 21.56
## 5 7.7 3.0 virginica 23.10
## 6 7.6 3.0 virginica 22.80
irisLong <- iris %>%
pivot_longer(cols=Sepal.Length:Petal.Width, names_to = "Measure", values_to = "Values")
head(irisLong)
## # A tibble: 6 × 3
## Species Measure Values
## <fct> <chr> <dbl>
## 1 setosa Sepal.Length 5.1
## 2 setosa Sepal.Width 3.5
## 3 setosa Petal.Length 1.4
## 4 setosa Petal.Width 0.2
## 5 setosa Sepal.Length 4.9
## 6 setosa Sepal.Width 3