Активируем необходимые пакеты для выполнения заданий.
require(ggplot2)
## Loading required package: ggplot2
require(psych)
## Loading required package: psych
##
## Attaching package: 'psych'
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
require(foreign)
## Loading required package: foreign
Откройте файл Cars.sav
Настраиваем рабочую директорию, в которой сохранен файл.
setwd("~/Dropbox/1_Мое/1_Курсы/R-statistics/Seminars/all_data") # Данная команда настраивает рабочую категорию на моём компьютере. Вам необходимо указать свою папку на вашем компьютере.
Открываем файл из этой директории.
cars <- read.spss("Cars.sav", use.value.labels = T, to.data.frame = T, use.missings = T)
str(cars)
## 'data.frame': 406 obs. of 9 variables:
## $ mpg : num 18 15 18 16 17 15 14 14 14 15 ...
## $ engine : num 307 350 318 304 302 429 454 440 455 390 ...
## $ horse : num 130 165 150 150 140 198 220 215 225 190 ...
## $ weight : num 3504 3693 3436 3433 3449 ...
## $ accel : num 12 11.5 11 12 10.5 10 9 8.5 10 8.5 ...
## $ year : Factor w/ 13 levels "70","71","72",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ origin : Factor w/ 3 levels "American","European",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ cylinder: Factor w/ 5 levels "3 Cylinders",..: 5 5 5 5 5 5 5 5 5 5 ...
## $ filter_.: Factor w/ 2 levels "Not Selected",..: 1 1 1 1 1 1 1 1 1 1 ...
## - attr(*, "variable.labels")= Named chr "Miles per Gallon" "Engine Displacement (cu. inches)" "Horsepower" "Vehicle Weight (lbs.)" ...
## ..- attr(*, "names")= chr "mpg" "engine" "horse" "weight" ...
## - attr(*, "codepage")= int 65001
Постройте диаграмму плотности распределения веса автомобиля (переменная weight) для машин с 4, 6 и 8 цилиндрами (переменная cylinder) с помощью пакета ggplot2. Цветом отобразить переменную cylinder.
Отбираем только автомобили с 4, 6 и 8 цилиндрами.
cars_2 <- subset(cars, cylinder=='4 Cylinders' | cylinder=='6 Cylinders' | cylinder=='8 Cylinders')
Строим диаграмму плотности распределения.
ggplot(cars_2, aes(weight, fill=cylinder)) + geom_density(alpha=0.5)+
theme_bw()+
xlab('Vehicle Weight (lbs.)')+
ylab('Плотность')
Узнайте, равны ли округленные средние значения мощности автомобиля (переменная horse) в группах автомобилей с 4 и 6 цилиндрами. Если нет, тогда запишите в отдельную переменную разницу между средними.
Сравнимаем округленные средние значения мощности автомобиля (переменная horse) в группах автомобилей с 4 и 6 цилиндрами.
round(mean(subset(cars_2, cylinder == '4 Cylinders')$horse, na.rm=T)) == round(mean(subset(cars_2, cylinder == '6 Cylinders')$horse , na.rm=T))
## [1] FALSE
Они не равны, поэтому записываем в отдельную переменную разницу между ними.
difference <- round(mean(subset(cars_2, cylinder == '4 Cylinders')$horse, na.rm=T)) - round(mean(subset(cars_2, cylinder == '6 Cylinders')$horse , na.rm=T))
difference
## [1] -23
Узнайте среднее значение расхода топлива (переменная mpg (Miles per Gallon)) для американских, европейских и японских автобобилей (переменная origin), используя функцию describeBy. Запишите в отдельную переменную значения 3-х средних.
stat <- describeBy(cars$mpg, group = cars$origin)
stat # статистика для всех 3 групп
## group: American
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 248 20.13 6.38 18.55 19.47 6.6 10 39 29 0.83 0.03 0.4
## --------------------------------------------------------
## group: European
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 70 27.89 6.72 26.5 27.36 5.19 16.2 44.3 28.1 0.67 0.06 0.8
## --------------------------------------------------------
## group: Japanese
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 79 30.45 6.09 31.6 30.47 6.52 18 46.6 28.6 0.01 -0.39 0.69
stat$American # статистика только для группы American
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 248 20.13 6.38 18.55 19.47 6.6 10 39 29 0.83 0.03 0.4
country_means <- c(stat$American[3], stat$European[3], stat$Japanese[3])
country_means
## $mean
## [1] 20.12823
##
## $mean
## [1] 27.89143
##
## $mean
## [1] 30.45063
Постройте 2 boxplot на одном рисунке (в одной системе координат) для расхода топлива (переменная mpg (Miles per Gallon)) для американских, европейских автомобилей.
Отбираем только американские и европейские автомобили.
cars_3 <- subset(cars, origin=='American' | origin=='European')
Строим boxplotы.
ggplot(cars_3, aes(origin, mpg)) + geom_boxplot(color='blue')+
theme_bw()+
ylab('Miles per Gallon')+
xlab('Страна')