R - Data Frames: A Beginner's Guide
Здравствуйте, будущие программисты R! Сегодня мы отправимся в увлекательное путешествие в мир данных рамок (data frames) в R. Не волнуйтесь, если вы никогда не программировали раньше - я буду вашим доброжелательным проводником, и мы будем двигаться шаг за шагом. К концу этого руководства вы будете манипулировать данными рамками как профессионал!
Что такое данные рамки?
Прежде чем мы углубимся, давайте поймем, что такое данные рамки. Представьте себе таблицу с строками и столбцами - это по сути то, что такое данные рамки в 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