Как разбить вектор на части в r
Вы можете использовать следующий базовый синтаксис для разделения вектора на части в R:
chunks <- split(my_vector, cut(seq_along(my_vector), 4 , labels= FALSE ))
В этом конкретном примере вектор с именем my_vector делится на 4 части одинакового размера.
Чтобы разделить вектор на другое количество частей, просто замените 4 другим значением.
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: разбиение вектора на части в R
Предположим, у нас есть следующий вектор в R, который содержит всего 12 элементов:
#createvector my_vector <- c(2, 2, 4, 7, 6, 8, 9, 8, 8, 12, 5, 4) #view length of vector length(my_vector) [1] 12
Мы можем использовать следующий синтаксис, чтобы разделить вектор на четыре части:
#split vector into four chunks chunks <- split(my_vector, cut(seq_along(my_vector), 4 , labels= FALSE )) #view chunks chunks $`1` [1] 2 2 4 $`2` [1] 7 6 8 $`3` [1] 9 8 8 $`4` [1] 12 5 4
По результату мы видим:
- Первый чанк содержит значения 2, 2, 4.
- Второй кусок содержит значения 7, 6, 8.
- Третий кусок содержит значения 9, 8, 8.
- Четвертый кусок содержит значения 12, 5, 4.
Обратите внимание, что мы также можем использовать квадратные скобки для перехода к определенному фрагменту:
#access second chunk only
chunks[2]
$`2`
[1] 7 6 8
Если мы изменим значение в функции Split() , мы сможем разделить вектор на другое количество частей.
Например, мы могли бы разделить вектор на шесть частей:
#split vector into six chunks chunks <- split(my_vector, cut(seq_along(my_vector), 6 , labels= FALSE )) #view chunks chunks $`1` [1] 2 2 $`2` [1] 4 7 $`3` [1] 6 8 $`4` [1] 9 $`5` [1] 8 8 $`6` [1] 12 5
Обратите внимание, что теперь существует шесть песен, и каждая песня содержит два элемента.
Примечание . Если ваш вектор не содержит четного числа элементов, этот метод всегда разделит вектор на группы как можно более равного размера.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как отфильтровать вектор в R
Как удалить значения NA из вектора в R
Как удалить определенные элементы из вектора в R