install.packages(“tidyverse”) library(tidyverse) library(diplyr)
data(mtcars)
v <- c(3, 7, 12, 21, 42) # five numbers
print(paste("The mean of my favorite numbers is:" , mean(v)))
## [1] "The mean of my favorite numbers is: 17"
print(paste("The standard deviation of my favorite numbers is:", sd(v)))
## [1] "The standard deviation of my favorite numbers is: 15.5080624192708"
str(mtcars)
## 'data.frame': 32 obs. of 11 variables:
## $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
## $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...
## $ disp: num 160 160 108 258 360 ...
## $ hp : num 110 110 93 110 175 105 245 62 95 123 ...
## $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
## $ wt : num 2.62 2.88 2.32 3.21 3.44 ...
## $ qsec: num 16.5 17 18.6 19.4 17 ...
## $ vs : num 0 0 1 1 0 1 0 1 1 1 ...
## $ am : num 1 1 1 0 0 0 0 0 0 0 ...
## $ gear: num 4 4 4 3 3 3 3 4 4 4 ...
## $ carb: num 4 4 1 1 2 1 4 2 2 4 ...
as.factor(mtcars$cyl) #This is appropriate because you need to treat cyl as a factor because the values represent a distinct category rather than a measurement.
## [1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
## Levels: 4 6 8
mpg <- as.numeric(mtcars$mpg)
print(paste("The mean of mpg is:",mean(mpg)))
## [1] "The mean of mpg is: 20.090625"
print(paste("The median of mpg is:",median(mpg)))
## [1] "The median of mpg is: 19.2"
print(paste("The standar deviation of mpg is:",sd(mpg)))
## [1] "The standar deviation of mpg is: 6.0269480520891"
summary(mtcars) #this shows the minimum, 1at q, median, mean, 3rd q, and max of each of the numerical columns.
## mpg cyl disp hp
## Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
## 1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
## Median :19.20 Median :6.000 Median :196.3 Median :123.0
## Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
## 3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
## Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
## drat wt qsec vs
## Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
## 1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
## Median :3.695 Median :3.325 Median :17.71 Median :0.0000
## Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
## 3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
## Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
## am gear carb
## Min. :0.0000 Min. :3.000 Min. :1.000
## 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
## Median :0.0000 Median :4.000 Median :2.000
## Mean :0.4062 Mean :3.688 Mean :2.812
## 3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :1.0000 Max. :5.000 Max. :8.000
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
mpg_by_cyl <- mtcars |>
group_by(cyl) |>
summarise(av_mpg = mean(mpg))
print(paste("The average mpg by the number of cylinders is:", mpg_by_cyl))
## [1] "The average mpg by the number of cylinders is: c(4, 6, 8)"
## [2] "The average mpg by the number of cylinders is: c(26.6636363636364, 19.7428571428571, 15.1)"
#Histogram of MPG
ggplot2::ggplot(mtcars, ggplot2::aes(x = mpg)) + ggplot2::geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value `binwidth`.
#Box plot of MPG grouped by Cyl
ggplot2::ggplot(mtcars, ggplot2::aes(x = cyl, y = mpg)) + ggplot2::geom_boxplot()
## Warning: Orientation is not uniquely specified when both the x and y aesthetics are
## continuous. Picking default orientation 'x'.
## Warning: Continuous x aesthetic
## ℹ did you forget `aes(group = ...)`?
#Scatter plot of MPG vs. HP
ggplot2::ggplot(mtcars, ggplot2::aes(x = hp, y = mpg)) + ggplot2::geom_point()