通过为每个 id R 分配一个序列来创建一个变量

Create a variable by assigning a sequence to each id R

我从具有 ID 的数据框中获得此列:

id
1
3
9
12
11

数据帧中的 ID 不重复。我正在尝试创建一个新的数据框,为每个 ID 分配一个序列 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) 像这样使用 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]