Перейдем к компьютерной части второй лекции. Запускаем наш R студио, открываем, чтобы долго не набирать, небольшой файл-заготовку lab_02_before.R и, как и любой серьезный файл с каким-то исследованием, он начинается с загрузки большого числа полезных пакетов, в которых содержатся полезные и удобные функции. Поскольку с некоторыми из этих пакетов мы работаем в первый раз, то их сначала необходимо предварительно скачать, установить из Интернета. Для этого, мы залазим в меню Tools выбираем опцию Install packages и через запятую пишем те пакеты, которые мы собираемся использовать в первый раз memisc, можно просто их, то есть эта установка делается один раз dplyr, psych и так далее. И нажимаем install и соответственно, они поставятся. Поскольку на моем компьютере они уже стоят, то я тут нажму Cancel, а при нажатии кнопки Install, они поставятся. После того, как пакеты установлены, мы можем быстренько понажимать Ctrl+Enter или у кого Mac — Command+Enter, активировать все пакеты. И приступить к решению содержательных задач. Первая задача, с которой мы начнем, это как в R генерить случайные величины, как считать вероятности, как зная вероятность, находить точку, которая соответствует данной вероятности, квантили распределения. Поехали, задача один: «как генерить, генерировать случайные величины». Генерируем случайные величины. Допустим, мы хотим сгенерировать 100 нормально распределенных случайных величин. То есть наша задача сгенерировать x_1 ..., x_{100}, давайте лучше z напишем, чтобы не путать с регрессорами. z_2, ..., z_{100}, так, чтобы каждая из z была нормальна с математическим ожиданием, скажем, 5 и дисперсией, скажем, 9. Это сделать очень просто. Мы создаем вектор z. Любая генерация случайных величин, там много разных распределений бывает, да, начинается с буквы r — сокращение от слова random. Нормальные случайные величины генерятся командой rnorm, а какое-нибудь другое распределение генерится r и какое-нибудь другое сокращение. Давайте начнем с нормальных. Нам нужно 100 случайных величин. Поэтому rnorm(100), а дальше надо указать параметры нормального распределения. В данном случае параметры: среднее равно 5, mean равно 5, а дисперсия равна 9, в R, если нажать Tab, то можно посмотреть, надо указывать стандартное отклонение и поэтому мы укажем стандартное отклонение 3. Нажимаем Ctrl+Enter и у нас вот справа появляется в окошке, что в памяти компьютера находится теперь вектор z длины 100 и вот его первые значения. Можно посмотреть какое-то конкретное значение, например, чему равно 56-ое значение z. Можно посмотреть несколько, допустим, со 2 по 9. Вот это значения z со 2 по 9. Можно, например, построить гистограмму полученного вектора z то есть гистограмму, полученных чисел, вот действительно, так издалека похоже на нормальное распределение. Если бы было не 100 случайных величин, а больше, то гистограмма была больше бы похожа на классическую функцию плотности. Помимо генерации случайных величин, может потребоваться построить например ее функцию плотности. Давайте построим функцию плотности нашей случайной величины, любой из z: z_1, z_2, они все одинаково распределены нормально со средним 5 и дисперсией 9. Построим функцию плотности. Для того чтобы построить график функции плотности, надо сначала сказать при каких иксах мы его будем строить. То есть значение абсциссы, а соответственно, значение ординаты — это будет функция плотности. Поскольку у нас случайная величина около 5, плюс-минус 2 стандартных ошибки — это плюс-минус 6, соответственно, она где-то бегает от минус 1 до 11. И иногда вылезает за эти пределы. Поэтому, давайте мы построим график функции плотности при иксах, лежащих в диапазоне, скажем от минус 10 и до 15 и точность у нас будет с шагом 0.5. То есть точечки будут через каждые 0.5 по оси абсцисс. Соответственно, можно посмотреть на этот вектор х. Вектор х это видно минус 10, минус 9,5, минус 9, минус 8,5 и так далее до 15. Начинается с минус 10 и заканчивается 15 с шагом 0.5. Соответственно, игрек это должно быть значение функции плотности по оси ординат. Все функции плотности в R начинаются с буквы d, сокращение от density. Соответственно, функция плотности нормальной случайной величины это dnorm. Значит, пишем dnorm, в скобках мы указываем наши иксы и параметры нашего распределения, параметры нормального распределения — это среднее равно 5 и стандартное отклонение, равное 3. Сгенерили значения ординат, соответственно, теперь мы можем построить график qplot по оси икс откладываем икс, по оси игрек откладываем игрек и получаем вот такой вот график. Обычно, поскольку функция плотности является непрерывной функцией в данном случае, то можно подчеркнуть этот факт и построить функцию, указав тип геометрии графика «линия», соответственно, мы получим вот такой сглаженный график и действительно, в среднем случайная величина равна 5, за минус 5 и за 15 попадает очень редко. Вот такая у нас получилась функция плотности. Теперь перейдем к следующей задаче — расчету вероятностей. Давайте посчитаем, скажем, вероятность того, что z окажется меньше 3. Поскольку вероятность того, что z меньше 3 — это не что иное, как функция распределения в точке 3, для любой случайной величины вероятность того, что она будет меньше конкретного числа, это функция распределения данной случайной величины в данной точке. Все функции распределения в R начинаются с буквы p, сокращение от probability distribution function. Соответственно, в данном случае мы получаем, что нам надо найти pnorm от 3, если среднее равно 5, а стандартное отклонение равно 3. Я пропустил знак равенства. Стандартное отклонение равно 3. Или например, если я хочу найти вероятность того, что z лежит в диапазоне от 4 до 9, то это есть с точки зрения здравого смысла вероятность того, что z меньше 9 минус вероятность того, что z меньше 4. И, соответственно, можно посчитать эту вероятность как pnorm в точке 9 с параметрами среднее равно 5, стандартное отклонение равно 3 минус функция распределения в точке 4, а параметры остались те же самые, среднее равно 5, стандартное отклонение равно 3. Соответственно, искомая вероятность равна 0.53. И по аналогии можно еще найти квантили распределения. Что такое квантили распределения? Квантиль — это на самом деле, обратная функция к функции распределения. То есть, если, например, я хочу найти такое число а, чтобы вероятность того, что z меньше а была равна, скажем, 0.7. И вот надо найти такое а. То соответственно, это можно найти с помощью квантильной функции, квантили начинаются с буквы q в r, qnorm от 0.7, параметры те же самые, 5 и стандартное отклонение 3. И, судя по графику, чтобы вероятность составила 0.7, нам надо, получится число где-то большее 5, да. И вот, тут где-то 6.57 и вот слева от 6.57 площадь под графиком равна 0.7. Соответственно, помимо нормального распределения, естественно в R есть и другие самые популярные распределния это хи-квадрат, t и F, которые нам понадобятся. Соответственно, для них, соответствующие четверки функции будут выглядеть как rchisq, dchisq — это функция плотности хи-квадрат случайной величины, pchisq — это функция распределения и qchisq, и аналогично для t и F. rt функция позволяет генерировать t распределение. dt — это функция плотности t-распределения, pt — это функция распределения t-распределения и qt — это квантильная функция, и аналогично для F распределения.