Функция разделения() из пакета tidyr может использоваться для разделения столбца фрейма данных на несколько столбцов.
Эта функция использует следующий базовый синтаксис:
отдельные (данные, столбец, в, раздел)
куда:
- data : Имя фрейма данных
- col : Имя столбца для разделения
- into : Вектор имен для столбца, который будет разделен на
- sep : значение для разделения столбца в
В следующих примерах показано, как использовать эту функцию на практике.
Пример 1: Разделить столбец на два столбца
Предположим, у нас есть следующий фрейм данных в R:
#create data frame
df <- data.frame(player=c('A', 'A', 'B', 'B', 'C', 'C'),
year=c(1, 2, 1, 2, 1, 2),
stats=c('22-2', '29-3', '18-6', '11-8', '12-5', '19-2'))
#view data frame
df
player year stats
1 A 1 22-2
2 A 2 29-3
3 B 1 18-6
4 B 2 11-8
5 C 1 12-5
6 C 2 19-2
Мы можем использовать функцию разделения () , чтобы разделить столбец статистики на два новых столбца, называемых «очки» и «ассисты» следующим образом:
library(tidyr)
#separate stats column into points and assists columns
separate(df, col=stats, into=c('points', 'assists'), sep='-')
player year points assists
1 A 1 22 2
2 A 2 29 3
3 B 1 18 6
4 B 2 11 8
5 C 1 12 5
6 C 2 19 2
Пример 2. Разделение столбца на более чем два столбца
Предположим, у нас есть следующий фрейм данных в R:
#create data frame
df2 <- data.frame(player=c('A', 'A', 'B', 'B', 'C', 'C'),
year=c(1, 2, 1, 2, 1, 2),
stats=c('22/2/3', '29/3/4', '18/6/7', '11/1/2', '12/1/1', '19/2/4'))
#view data frame
df2
player year stats
1 A 1 22/2/3
2 A 2 29/3/4
3 B 1 18/6/7
4 B 2 11/1/2
5 C 1 12/1/1
6 C 2 19/2/4
Мы можем использовать функцию разделения() , чтобы разделить столбец статистики на три отдельных столбца:
library(tidyr)
#separate stats column into three new columns
separate(df, col=stats, into=c('points', 'assists', 'steals'), sep='/')
player year points assists steals
1 A 1 22 2 3
2 A 2 29 3 4
3 B 1 18 6 7
4 B 2 11 1 2
5 C 1 12 1 1
6 C 2 19 2 4
Дополнительные ресурсы
Целью пакета tidyr является создание «аккуратных» данных, обладающих следующими характеристиками:
- Каждый столбец является переменной.
- Каждая строка — это наблюдение.
- Каждая ячейка представляет собой одно значение.
Пакет tidyr использует четыре основные функции для создания аккуратных данных:
1. Функция распространения() .
2. Функция сбора() .
3. Функция разделения() .
- Функция объединения() .
Если вы освоите эти четыре функции, вы сможете создавать «аккуратные» данные из любого фрейма данных.