R - Data Frames: A Beginner's Guide

Здравствуйте, будущие программисты R! Сегодня мы отправимся в увлекательное путешествие в мир данных рамок (data frames) в R. Не волнуйтесь, если вы никогда не программировали раньше - я буду вашим доброжелательным проводником, и мы будем двигаться шаг за шагом. К концу этого руководства вы будете манипулировать данными рамками как профессионал!

R - Data Frames

Что такое данные рамки?

Прежде чем мы углубимся, давайте поймем, что такое данные рамки. Представьте себе таблицу с строками и столбцами - это по сути то, что такое данные рамки в R. Это двумерная таблица, в которой каждый столбец может содержать разные типы данных (например, числа, текст или даты), а каждая строка представляет собой индивидуальную запись.

Теперь, давайте натянем рукава и脏我们的手 с реальным кодом R!

Создание данных рамок

Создание данных рамок похоже на создание своей личной базы данных. Давайте начнем с простого примера:

# Создание данных рамок
students <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(22, 25, 23),
grade = c("A", "B", "A-")
)

# Давайте посмотрим, как выглядят наши данные рамки
print(students)

Когда вы выполните этот код, вы увидите:

name age grade
1  Alice  22     A
2    Bob  25     B
3 Charlie 23    A-

Что мы здесь сделали? Мы создали данные рамки под названием students с тремя столбцами: имя, возраст и оценка. Каждый столбец является вектором, и все векторы должны иметь одну и ту же длину (в этом случае, 3).

Получение структуры данных рамок

Теперь, когда у нас есть данные рамки, давайте изучим их структуру. Это как заглянуть под капот автомобиля:

# Получение структуры данных рамок
str(students)

Это выведет:

'data.frame':   3 obs. of  3 variables:
$ name : chr  "Alice" "Bob" "Charlie"
$ age  : num  22 25 23
$ grade: chr  "A" "B" "A-"

Это告诉我们, что students - это данные рамки с 3 observationами (строками) и 3 переменными (столбцами). Он также показывает нам тип данных каждого столбца: chr для символьного (текста) и num для числового.

Обзор данных в данных рамках

Хотите быстрый обзор ваших данных? Функция summary() - ваш лучший друг:

# Получение обзора данных рамок
summary(students)

Вы увидите что-то вроде:

name                age           grade
Length:3           Min.   :22.00   Length:3
Class :character   1st Qu.:22.50   Class :character
Mode  :character   Median :23.00   Mode  :character
Mean   :23.33
3rd Qu.:24.00
Max.   :25.00

Это дает нам статистический обзор наших данных. Для числовых столбцов, таких как 'age', он предоставляет минимальное, максимальное, среднее и квартили. Для символьных столбцов он告诉我们 длину и тип.

Извлечение данных из данных рамок

Теперь давайте научимся извлекать конкретные данные из наших данных рамок. Это как быть детективом данных!

# Получение конкретного столбца
print(students$name)

# Получение конкретной строки
print(students[2,])

# Получение конкретной ячейки
print(students[1, "grade"])

# Получение нескольких столбцов
print(students[, c("name", "age")])

Эти команды выведут:

[1] "Alice"   "Bob"     "Charlie"

name age grade
2  Bob  25     B

[1] "A"

name age
1  Alice  22
2    Bob  25
3 Charlie 23

Оператор $ позволяет вам получить столбец по имени. Квадратные скобки [] позволяют вам указать строки и столбцы: [строка, столбец]. Если вы оставляете строку или столбец пустым, он выбирает все строки или столбцы.

Расширение данных рамок

По мере роста ваших данных вам может потребоваться добавить дополнительную информацию в ваши данные рамки. Давайте посмотрим, как это сделать:

# Добавление нового столбца
students$height <- c(165, 180, 175)

# Добавление новой строки
new_student <- data.frame(name = "David", age = 24, grade = "B+", height = 178)
students <- rbind(students, new_student)

# Давайте посмотрим на наши обновленные данные рамки
print(students)

Это даст нам:

name age grade height
1  Alice  22     A    165
2    Bob  25     B    180
3 Charlie 23    A-    175
4  David  24    B+    178

Мы добавили новый столбец 'height' с помощью оператора $ и новую строку с помощью функции rbind() (которая означает "связать строки").

Полезные методы для работы с данными рамками

Вот таблица некоторых удобных методов для работы с данными рамками:

Метод Описание
head(df) Показать первые 6 строк данных рамок
tail(df) Показать последние 6 строк данных рамок
nrow(df) Получить количество строк
ncol(df) Получить количество столбцов
names(df) Получить имена столбцов
colnames(df) Другой способ получить или установить имена столбцов
rownames(df) Получить или установить имена строк
dim(df) Получить dimensions (строки и столбцы)

Попробуйте эти методы на наших данных рамках students!

И вот оно,朋友们! Вы только что сделали свои первые шаги в мир данных рамок в R. Помните, что практика делает мастера, поэтому не бойтесь экспериментировать с этими командами. Создавайте свои данные рамки, пробуйте разные операции и смотрите, что произойдет.

И кто знает? Может быть, однажды вы будете использовать эти навыки для анализа данных с колоний на Марсе или под водой. Возможности безграничны!

Продолжайте программировать, оставайтесь любопытными и, самое главное, получайте удовольствие! До下一次 встречи, счастливого программирования на R!

Credits: Image by storyset