Як використовувати функцію 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
Ми можемо використати наступний код, щоб розділити фрейм даних на групи на основі змінної “team”:
#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
Результат – дві групи. Перший містить лише рядки, де «команда» дорівнює А, а другий містить лише рядки, де «команда» дорівнює Б.
Зауважте, що ми також можемо розділити дані на групи за допомогою кількох факторних змінних. Наприклад, наведений нижче код показує, як розділити дані на групи на основі змінних «команда» та «позиція».
#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
Як використовувати функцію replicate() у R
Як використовувати функцію match() у R