Как использовать отдельную функцию в R (с примерами)


Функция разделения() из пакета 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. Функция разделения() .

  1. Функция объединения() .

Если вы освоите эти четыре функции, вы сможете создавать «аккуратные» данные из любого фрейма данных.