Как использовать функцию split() в r для разделения данных


Функцию Split() в R можно использовать для разделения данных на группы на основе уровней факторов.

Эта функция использует следующий базовый синтаксис:

разделить(x, f, …)

Золото:

  • x : Имя вектора или блока данных для разделения на группы.
  • f : Фактор, определяющий группировки

В следующих примерах показано, как использовать эту функцию для разделения векторов и кадров данных на группы.

Пример 1. Используйте функцию Split() для разделения вектора на группы.

Следующий код показывает, как разделить вектор значений данных на группы на основе вектора уровней факторов:

 #create vector of data values
data <- c(1, 2, 3, 4, 5, 6)

#create vector of groupings
groups <- c('A', 'B', 'B', 'B', 'C', 'C')

#split vector of data values into groups
split(x = data, f = groups)

$A
[1] 1

$B
[1] 2 3 4

$C
[1] 5 6

В результате получается три группы.

Обратите внимание, что вы также можете использовать индексацию для получения определенных групп:

 #split vector of data values into groups and only display second group
split(x = data, f = groups)[2]

$B
[1] 2 3 4

Пример 2. Используйте функцию Split() для разделения фрейма данных на группы.

Предположим, у нас есть следующий кадр данных в R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'G', 'F', 'F'),
                 points=c(33, 28, 31, 39, 34, 44),
                 assists=c(30, 28, 24, 24, 28, 19))

#view data frame
df

  team position points assists
1 GA 33 30
2 AG 28 28
3 AF 31 24
4 BG 39 24
5 BF 34 28
6 BF 44 19

Мы можем использовать следующий код, чтобы разделить фрейм данных на группы на основе переменной «команда»:

 #split data frame into groups based on 'team'
split(df, f = df$team)

$A
  team position points assists
1 GA 33 30
2 AG 28 28
3 AF 31 24

$B
  team position points assists
4 BG 39 24
5 BF 34 28
6 BF 44 19

В результате получается две группы. Первый содержит только строки, в которых «команда» равно A, а второй содержит только строки, где «команда» равно B.

Обратите внимание, что мы также можем разделить данные на группы, используя несколько факторных переменных. Например, следующий код показывает, как разделить данные на группы на основе переменных «команда» и «позиция»:

 #split data frame into groups based on 'team' and 'position' variables
split(df, f = list(df$team, df$position))

$AF
  team position points assists
3 AF 31 24

$BF
  team position points assists
5 BF 34 28
6 BF 44 19

$AG
  team position points assists
1 GA 33 30
2 AG 28 28

$BG
  team position points assists
4 BG 39 24

В результате получается четыре группы.

Дополнительные ресурсы

В следующих руководствах объясняется, как использовать другие распространенные функции в R:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *