Professional Documents
Culture Documents
Д - лекція 2 Експорт та імпорт даних
Д - лекція 2 Експорт та імпорт даних
Лекція 2
Питання
1. Типи даних в R
2. Заміна відсутніх значень у таблицях даних в R
3. Експорт даних в R
4. Імпорт даних в R
1. Типи даних
Усі типи даних можна представити двома групами: контейнери (структури даних) та первинні
типи даних.
Будь-яка змінна у мові R може набувати лише значення типу контейнера, елементами можуть
бути значення первинних типів даних.
Типи даних контейнерів
Тип Опис
(вектор). фундаментальна річ в R, на все можна дивитись через вектор
vector Пронумерований кінцевий набір елементів однакового первинного типу є найбільш простим у R. Вибирайте цей тип даних, якщо
потрібно зберігати одне або кілька значень, з якими планується виконувати однакові операції.
matrix (матриці) схожі на вектори, але зі специфічними інструкціями для виведення, нагадують матриці в математиці.
array (масиви) схожі на матриці, але можуть мати розмірність більше двох.
Логічний тип. Приймає значення NA, NaN, FALSE, TRUE. NA (not available)
позначає, що тут не доступне якесь значення для операції. Будь-які операції з
logical NA, FALSE, TRUE
NA повертають NA і таким чином можна буде легко детермінувати помилку
відсутності даних.
integer Цілий тип даних. Спец значення NA, NaN as.integer(NA), 26L
double Тип чисел з плаваючою точкою. Серед спеціальних значень NA, Inf, -Inf, NaN as.double(NA), 26
c(..., …, …)
Операції з векторами:
x <- c(10, 2, 3, 7, 4)
y <- c(2, -1, 3, 2, 6)
# додавання/віднімання (поелементно)
x+y
12 1 6 9 10
x-y
8 3 0 5 -2
# множення на скаляр
2*x
20 4 6 14 8
# застосування функції до кожного елемента
sqrt(x)
3.162278 1.414214 1.732051 2.645751 2.000000
# сума елементів
sum(x)
26
# довжина вектора
length(x)
5
# об'єданання векторів
z <- c(x, y)
z
10 2 3 7 4 2 -1 3 2 6
# інший спосіб задання вектора, вказуємо послідовність від 1 до 20
x <- 1:20
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
list(...)
Функція list() дає можливість перетворити вектор на список, для оберненої операції
використовується функція unlist(). При цьому відбувається конвертація типів кожного
елементу до одного типу в наступній послідовності пріоритетів:
NULL < logical < integer < real < complex < character< list
x : вектор даних.
levels: вектор можливих значень, необов'язковий.
labels: додати мітку до даних.
order: визначити, чи слід упорядкувати рівні.
Нехай маємо звичайний вектор:
df : набір даних
stringsAsFactors : конвертувати рядок у фактор за замовчуванням. Для того, щоб
включити елементи типу "character" без подальшої конвертації в інший тип
вказати додатковий аргумент stringsAsFactors=FALSE.
Приклад 2.
3. Зчитати з файла.
Базові операції
Додати стовпець до фрейму даних
бібліотека dplyr
Відкидаємо
відсутні значення
Cтворюємо дві окремі змінних для середнього значення та медіани. Після створення
можемо замінити відсутні значення знову сформованими змінними.
Використаємо функцію apply() для обчислення середнього значення стовпця з NA.
Приклад:
Крок 1) Збережемо ім'я стовпця з відсутніми значеннями у списку під назвою
list_na.
аргументи в apply()
df: df_titanic [, colnames (df_titanic) % % list_na]. Цей код повертатиме ім'я стовпця
з об'єкта list_na (тобто, “вік” та “вартість проїзду”)
2: обчислити функцію за стовпцями
mean: обчислити середнє
na.rm = TRUE: ігнорувати пропущені значення
Крок 3) Замінити значення NA
write.xlsx(df_employees, "employees.xlsx")
write_sav(df_employees, "employees.sav")
write_sas(df_employees, "employees.sas7bdat")
write_dta(df_employees, "employees.dta")
Експорт файлу на Google Диску
Потрібно встановити бібліотеку googledrive для доступу до функції, що дозволяє взаємодіяти
з Google Drive.
install.packages("googledrive")
library(googledrive)
x <-drive_get("table_car")
as_id(x)
4. Імпорт даних у R
Одним із найпоширеніших сховищ даних є формати файлів csv.
Для відкриття CSV-файлів використовуємо read.csv:
Якщо робоча книга включає багато листів, вибрати конкретний лист, використовуючи
назву листа або його індекс.
Контроль діапазону читання.
1) Використовуємо аргумент n_max для повернення n рядків
2) Використовуйте аргумент діапазону разом із cell_rows або cell_cols.
Наприклад
Якщо col_names=FALSE, R автоматично створить заголовки.
Вибрати діапазон від A1 до B5:
Використаємо range = cell_rows (1: 5), заголовки присутні.
Імпорт даних із іншого статистичного програмного
забезпечення
Аргументи за
Бібліотека Завдання функція
замовчуванням
шлях, діапазон =
readxl Читати файл EXCEL read_excel() NULL, col_names =
TRUE
Вибрати діапазон
range = "A1: D10"
комірок
Вибрати рядки з
range = cell_rows (1: 3)
індексами
Вибрати стовпці з
range = cell_cols (“A: C”)
літерами
Імпорт файлу з Google Диску
Ви зберегли ідентифікатор змінної x. Функція drive_download() дозволяє завантажувати
файл із Google Drive.
library(dbplyr)
library(dplyr)
library(RSQLite)
library(nycflights13)
flights_sqlite1 <- copy_to(my_db, flights, temporary = FALSE,
indexes = list(c("year", "month", "day"), "carrier", "tailnum"))
SELECT – вибирати дані