Создайте переменную, назначив последовательность каждому идентификатору R - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть этот столбец из кадра данных с идентификаторами:

id
1
3
9
12
11

Идентификаторы не повторяются в кадре данных. Я пытаюсь создать новый фрейм данных, назначая последовательность c(-1:1) для каждого идентификатора. Я пытаюсь получить что-то вроде этого:

id   seqvalue
1  -1
1   0
1   1
3   -1
3   0
3   1
9   -1
9   0
9   1
12   -1
12   0
12   1
11   -1
11   0
11   1

1 Ответ

0 голосов
/ 05 февраля 2020

1) Используйте expand.grid, например:

DF <- data.frame(id = c(1, 3, 9, 12))
expand.grid(seqvalue = seq(-1, 1), id = DF$id)[2:1]

2) Другая возможность merge:

merge(data.frame(seqvalue = seq(-1, 1)), DF)[2:1]
...