Разделить данные на несколько человек с набором справочных данных - PullRequest
0 голосов
/ 05 ноября 2019

Мне нужно разделить данные на несколько человек с набором справочных данных

Данные 1

Numbers
680
183
856
661
916
240
68
390
393
722
241
627
77
439
162
943
185
931
117

Данные 2

Team
A
B
C
D

Вывод

Numbers Team
680 A
183 A
856 A
661 A
916 A
240 B
68  B
390 B
393 B
722 B
241 C
627 C
77  C
439 C
162 C
943 D
185 D
931 D
117 D

1 Ответ

0 голосов
/ 05 ноября 2019

Используйте rep() в сочетании с each - и length-out -аргументами

В этом примере я использовал data.table.

пример данных

library(data.table)
dt <- fread("Numbers
680
183
856
661
916
240
68
390
393
722
241
627
77
439
162
943
185
931
117")

team <- fread("Team
A
B
C
D")[[1]]

код

dt[, Team := rep( team, 
                  each = ceiling( nrow(dt)/length(team) ), 
                  length.out = nrow(dt) )]

выход

#     Numbers Team
#  1:     680    A
#  2:     183    A
#  3:     856    A
#  4:     661    A
#  5:     916    A
#  6:     240    B
#  7:      68    B
#  8:     390    B
#  9:     393    B
# 10:     722    B
# 11:     241    C
# 12:     627    C
# 13:      77    C
# 14:     439    C
# 15:     162    C
# 16:     943    D
# 17:     185    D
# 18:     931    D
# 19:     117    D
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...