# Computes the measures of central tendency and measures of variability and the relationships
# using mean, median, mode, max, min, range, quantile, IQR, var( ), sd( ), and cor( )
# Created by Muhammad Yasir
# July 19, 2020
# Measures of central tendency
# Calculating Mean each of the seven variables in the attitude dataset
# The mean of a set of observations is just an average. Add them and divide them by total numbers.
mean(attitude$complaints, na.rm=TRUE)
## [1] 66.6
mean(attitude$privileges, na.rm=TRUE)
## [1] 53.13333
mean(attitude$learning, na.rm=TRUE)
## [1] 56.36667
mean(attitude$raises, na.rm=TRUE)
## [1] 64.63333
mean(attitude$critical, na.rm=TRUE)
## [1] 74.76667
mean(attitude$advance, na.rm=TRUE)
## [1] 42.93333
# Measures of central tendency
# Calculating Median each of the seven variables in the attitude dataset
# The middle value in a set of observations is the median.
# In case, the middle value is at positions 25 and 26 and values are different then will take the average of both.
median(attitude$rating, na.rm=TRUE)
## [1] 65.5
median(attitude$complaints, na.rm=TRUE)
## [1] 65
median(attitude$privileges, na.rm=TRUE)
## [1] 51.5
median(attitude$learning, na.rm=TRUE)
## [1] 56.5
median(attitude$raises, na.rm=TRUE)
## [1] 63.5
median(attitude$critical, na.rm=TRUE)
## [1] 77.5
median(attitude$advance, na.rm=TRUE)
## [1] 41
# Measures of central tendency
# Calculating Mode each of the seven variables in the attitude dataset
# The mode of a set of observations is the value that occurs most frequently
modeforrating <- table(as.vector(attitude$rating))
names(modeforrating)[modeforrating == max(modeforrating)]
## [1] "43" "50" "63" "64" "65" "67" "71" "81"
modeforcomplaints <- table(as.vector(attitude$complaints))
names(modeforcomplaints)[modeforcomplaints == max(modeforcomplaints)]
## [1] "60" "61" "70" "75" "77" "82" "85"
modeforprivileges <- table(as.vector(attitude$privileges))
names(modeforprivileges)[modeforprivileges == max(modeforprivileges)]
## [1] "42"
modeforlearning <- table(as.vector(attitude$learning))
names(modeforlearning)[modeforlearning == max(modeforlearning)]
## [1] "39" "45" "47" "54" "58" "69" "72"
modeforraises <- table(as.vector(attitude$raises))
names(modeforraises)[modeforraises == max(modeforraises)]
## [1] "66"
modeforcritical <- table(as.vector(attitude$critical))
names(modeforcritical)[modeforcritical == max(modeforcritical)]
## [1] "80"
modeforadvance <- table(as.vector(attitude$advance))
names(modeforadvance)[modeforadvance == max(modeforadvance)]
## [1] "41"
# Measures of variability
# Min , Max and Range of each variable
min(attitude$rating)
## [1] 40
max(attitude$rating)
## [1] 85
range(attitude$rating)
## [1] 40 85
min(attitude$complaints)
## [1] 37
max(attitude$complaints)
## [1] 90
range(attitude$complaints)
## [1] 37 90
min(attitude$privileges)
## [1] 30
max(attitude$privileges)
## [1] 83
range(attitude$privileges)
## [1] 30 83
min(attitude$learning)
## [1] 34
max(attitude$learning)
## [1] 75
range(attitude$learning)
## [1] 34 75
min(attitude$raises)
## [1] 43
max(attitude$raises)
## [1] 88
range(attitude$raises)
## [1] 43 88
min(attitude$critical)
## [1] 49
max(attitude$critical)
## [1] 92
range(attitude$critical)
## [1] 49 92
min(attitude$advance)
## [1] 25
max(attitude$advance)
## [1] 72
range(attitude$advance)
## [1] 25 72
# Interquartile range for each variable
# you calculate the difference between the 25th quantile and the 75th quantile
quantile(attitude$rating)
## 0% 25% 50% 75% 100%
## 40.00 58.75 65.50 71.75 85.00
IQR(attitude$rating)
## [1] 13
quantile(attitude$complaints)
## 0% 25% 50% 75% 100%
## 37.0 58.5 65.0 77.0 90.0
IQR(attitude$complaints)
## [1] 18.5
quantile(attitude$privileges)
## 0% 25% 50% 75% 100%
## 30.0 45.0 51.5 62.5 83.0
IQR(attitude$privileges)
## [1] 17.5
quantile(attitude$learning)
## 0% 25% 50% 75% 100%
## 34.00 47.00 56.50 66.75 75.00
IQR(attitude$learning)
## [1] 19.75
quantile(attitude$raises)
## 0% 25% 50% 75% 100%
## 43.00 58.25 63.50 71.00 88.00
IQR(attitude$raises)
## [1] 12.75
quantile(attitude$raises)
## 0% 25% 50% 75% 100%
## 43.00 58.25 63.50 71.00 88.00
IQR(attitude$raises)
## [1] 12.75
quantile(attitude$critical)
## 0% 25% 50% 75% 100%
## 49.00 69.25 77.50 80.00 92.00
IQR(attitude$critical)
## [1] 10.75
quantile(attitude$advance)
## 0% 25% 50% 75% 100%
## 25.00 35.00 41.00 47.75 72.00
IQR(attitude$advance)
## [1] 12.75
# Variance and Standard Deviation
var(attitude$rating)
## [1] 148.1713
sd(attitude$rating)
## [1] 12.17256
var(attitude$complaints)
## [1] 177.2828
sd(attitude$complaints)
## [1] 13.31476
var(attitude$privileges)
## [1] 149.7057
sd(attitude$privileges)
## [1] 12.23543
var(attitude$learning)
## [1] 137.7575
sd(attitude$learning)
## [1] 11.73701
var(attitude$raises)
## [1] 108.1023
sd(attitude$raises)
## [1] 10.39723
var(attitude$critical)
## [1] 97.9092
sd(attitude$critical)
## [1] 9.894908
var(attitude$advance)
## [1] 105.8575
sd(attitude$advance)
## [1] 10.28871
# Correlation between all set of pairs
cor(attitude)
## rating complaints privileges learning raises critical
## rating 1.0000000 0.8254176 0.4261169 0.6236782 0.5901390 0.1564392
## complaints 0.8254176 1.0000000 0.5582882 0.5967358 0.6691975 0.1877143
## privileges 0.4261169 0.5582882 1.0000000 0.4933310 0.4454779 0.1472331
## learning 0.6236782 0.5967358 0.4933310 1.0000000 0.6403144 0.1159652
## raises 0.5901390 0.6691975 0.4454779 0.6403144 1.0000000 0.3768830
## critical 0.1564392 0.1877143 0.1472331 0.1159652 0.3768830 1.0000000
## advance 0.1550863 0.2245796 0.3432934 0.5316198 0.5741862 0.2833432
## advance
## rating 0.1550863
## complaints 0.2245796
## privileges 0.3432934
## learning 0.5316198
## raises 0.5741862
## critical 0.2833432
## advance 1.0000000
# summary
summary(attitude)
## rating complaints privileges learning raises
## Min. :40.00 Min. :37.0 Min. :30.00 Min. :34.00 Min. :43.00
## 1st Qu.:58.75 1st Qu.:58.5 1st Qu.:45.00 1st Qu.:47.00 1st Qu.:58.25
## Median :65.50 Median :65.0 Median :51.50 Median :56.50 Median :63.50
## Mean :64.63 Mean :66.6 Mean :53.13 Mean :56.37 Mean :64.63
## 3rd Qu.:71.75 3rd Qu.:77.0 3rd Qu.:62.50 3rd Qu.:66.75 3rd Qu.:71.00
## Max. :85.00 Max. :90.0 Max. :83.00 Max. :75.00 Max. :88.00
## critical advance
## Min. :49.00 Min. :25.00
## 1st Qu.:69.25 1st Qu.:35.00
## Median :77.50 Median :41.00
## Mean :74.77 Mean :42.93
## 3rd Qu.:80.00 3rd Qu.:47.75
## Max. :92.00 Max. :72.00