- •Класичний приватний університет інстітут управління
- •Реферат
- •1. Кореляційний аналіз кількісних та порядкових ознак
- •1.1. Коефіцієнт детермінації і його використання при оцінюванні нелінійних статистичних зв'язків
- •1.2. Коефіцієнти кореляції
- •2. Основні функції для обробки даних і визначення кореляції в r
- •2.1. Основні функції статистичного пакету r
- •2.2. Операції над різними змінними в пакеті r
- •2.3. Вектори в статистичному пакеті r
- •2.5. Матриці в статистичному пакеті r
- •2.6. Кореляційний та регресійний аналіз в r
- •3. Перевірка зв'язків між ознаками засобом статистичного пакету r
- •3.1. Зв'язок курсу долара між покупкою та продажем в гривнях
- •3.2. Зв'язок курсу британського фунта к євро в гривне
- •Висновки
- •Список використаних джерел
2.5. Матриці в статистичному пакеті r
Числову матрицю можна створити з числового вектора за допомогою функції matrix ().
Для завдання матриці необхідний масив даних х, потрібно вказати число рядків nrow = m та / або число стовпців ncol = n (за замовчуванням, число рядків дорівнює числу стовпців і дорівнює 1); визначити як елементи вектора х заповнюють матрицю по рядках або по стовпцях (за замовчуванням матриця заповнюється по стовпцях). У результаті елементи з вектора будуть записані в матрицю зазначених розмірів. Аргумент dimnames список з двох компонент, перший з яких задає назви рядків, а друга назви стовпців (по замовчуванням імена рядків і стовпців не задаються).
Якщо вказується тільки одна з розмірностей (наприклад, тільки число стовпців), то бажано, щоб довжина вектора була кратна цієї розмірності. Друга розмірність буде визначена як відношення довжини вектора до перший розмірності.
Якщо ж число стовпців (рядків) не є дільником довжини вектора х, то матриця все одно буде побудована (правда з попередженням). друга розмірність буде визначена як найближче більше ціле число до залишку від ділення довжини вектора на задану розмірність.
Функції nrow (A), ncol (A) і dim (A) повертають число рядків, число стовпців і розмірність матриці A відповідно.
Функція cbind (A, B) створює матрицю з матриць (векторів), приписуючи праворуч до A матрицю (вектор) B (для цього число рядків у A і B має збігатися).
Функція rbind (A, B) створює матрицю, приписуючи знизу до матриці A матрицю B (для цього число стовпців у вихідних матриць має збігатися). Зауважимо, що в списках аргументів функцій cbind () і rbind можна вказати більше двох матриць.
Щоб задати діагональну матрицю досить скористатися функцією diag (x, nrow, ncol).
Для побудови квадратної одиничної матриці потрібно задати тільки число рядків nrow в матриці (якщо задати число стовпців ncol, то буде виведено повідомлення про помилку).
Якщо аргумент Х функції diag (Х) є матриця, то в результаті застосування функції буде побудований вектор з елементів Х, розташованих на головної діагоналі.
Після того, як матриця створена, її можна змінювати, привласнюючи її елементам нові значення (див. індекси). Є й інший спосіб редагування матриці. У меню консолі треба вибрати Правка, потім натиснути Редактор даних і в виведеному вікні задати ім'я потрібної матриці (теж саме можна зробити і за допомогою функції fix (ім'я об'єкта)). У результаті буде виведено нове робоче вікно, схоже на сторінку MS Excel.
Операції над матрицями. Арифметичні операції над матрицями здійснюються по елементно, тому, щоб, наприклад, скласти дві матриці, вони повинні мати однакові розміри.
Втім, можна здійснювати змішані операції, коли один з операндів матриця, а інший - вектор (зокрема, скаляр). У цьому випадку матриця розглядається як вектор, складений з її елементів, записаних за стовпцями, і діють ті ж правила, що і для арифметичних операцій над векторами.
Функція outer (x, y, «операція») застосовує задану операцію до кожній парі елементів векторів x і y. Отримаємо матрицю, складену з результатів виконання цієї операції. Число рядків матриці довжина вектора x, а число стовпців довжина вектора y.
Замість outer (x, y, "*") (зовнішнє твір векторів) можна використовувати x% o% y.
Транспонування матриці здійснює функція t (A), а матричне твір - операція% *%.
Для вирішення системи лінійних рівнянь Ax = b з квадратною не виродженої матрицею A є функція solve (A, b).
Системи лінійних рівнянь, чиї матриці коефіцієнтів мають верхній трикутний або нижній трикутний вигляд (т.е, або всі елементи під головною діагоналлю дорівнюють нулю, або над головною діагоналлю) можна вирішувати з допомогою функцій backsolve (A, b) і forwardsolve (B b), де A і B верхня трикутна і нижня трикутна матриці, b - вектор вільних коефіцієнтів.
Функція det (A) знаходить визначник матриці, а solve (A) зворотний матрицю.
У R є функція determinant (), повна форма якої determinant (x, logarithm = TRUE, ...).
На відміну від det () повертає не скаляр (визначник матриці), а список, що складається з двох елементів, перший з яких або модуль визначника (логічний аргумент logarithm приймає значення FALSE), або логарифм модуля визначника (logarithm = TRUE), а другий – або 1 (визначник від'ємний), або 1 (визначник не негативний).
Крім функції solve () для знаходження зворотної матриці можна використовувати і функцію ginv () (але для цього спочатку треба підключити пакет MASS).
Розглянемо ще ряд функцій корисних при роботі з матрицями. це:
colSums (X, na.rm) сума елементів по стовпцях;
rowSums (X, na.rm) сума елементів по рядках;
colMeans (X na.rm) середні значення по стовпцях;
rowMeans (X na.rm) середні значення по рядках.
Аргументи функцій: X вихідний числовий масив (матриця), na.rm логічний аргумент, чи потрібно прибирати з розгляду NA (за замовчуванням na.rm = FALSE).
Власні вектора і власні числа матриць знаходяться за допомогою eigen (X, symmetric, only.values = FALSE) де X вихідна матриця. symmetric логічний аргумент, якщо його значення є TRUE, то передбачається, що матриця X симетрична (ермітовим для комплексних чисел), і беруться елементи. лежать тільки на головній діагоналі і під нею. Якщо аргумент symmetric не заданий, то матриця буде перевірена на симетричність. Логічний аргумент only.values визначає, чи потрібно виводити тільки власні числа або ще й власні вектора.
Повертає вектор власних значень, розташованих у порядку убування їх модулів (власні значення можуть бути і комплексними) і матрицю, чиї стовпці є власні вектори вихідної матриці.
Функції lower.tri (X, diag = FALSE) і upper.tri (X, diag = FALSE) будують логічні матриці (чиї розмірності збігаються з розмірністю матриці X), в яких на діагоналях нижче головної (lower.tri (X, diag =
FALSE)) або вище головної (upper.tri (X, diag = FALSE)) коштують логічні змінні TRUE. Аргумент diag відповідає за головну діагональ.
Операції з індексами. Доступ до елементів матриці відбувається за індексом . A [ i , j ] посилається на елемент i - го рядка і j -го стовпця матриці A. На місці індексів i і j можуть стояти вектори:
i і j позитивні цілочисельні вектори , тоді A [ i , j ] подматріца матриці A , утворена елементами , що стоять на перетині рядків з номерами з вектора i і стовпців з номерами з j;
i і j негативні цілочисельні вектори , тоді A [ i , j ] подматріца , отримана з вихідної матриці видаленням елементів на відповідних рядках і стовпцях;
i і j логічні вектори . Тоді A [ i , j ] нова матриця , що складається з тих елементів вихідної матриці , для яких елементи векторів i і j приймають значення TRUE;
i і j символьні вектори , вектори з іменами рядків і стовпців. Нова матриця утворена елементами вихідної, що знаходяться на перетині стовпців і рядків із заданими іменами;
A [ i , ] еквівалентно A [ i , 1 : ncol (A )];
A [ , j ] еквівалентно A [ 1 : nrow (A ) , j ].
Можливий доступ до елементів матриці за допомогою одного індексу :
А [ 5 ] означає 5 й елемент матриці А , якщо вважати , що елементи пронумеровані за стовпцями;
Якщо i вектор , то A [ i ] означає вибірку відповідних елементів і т. д.
