Активируем необходимые пакеты для выполнения заданий.

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

Задача 1

Откройте файл 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

Задача 2

Постройте диаграмму плотности распределения веса автомобиля (переменная 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('Плотность')

Задача 3

Узнайте, равны ли округленные средние значения мощности автомобиля (переменная 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

Задача 4

Узнайте среднее значение расхода топлива (переменная 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

Задача 5

Постройте 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('Страна')