【问题标题】:Create a variable by assigning a sequence to each id R通过为每个 id R 分配一个序列来创建一个变量
【发布时间】:2020-02-05 16:45:44
【问题描述】:

我有来自带有 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

【问题讨论】:

  • 也许就像data.frame(id = rep(c(1, 3, 9, 12, 11), each = length(-1:1)), seqvalue = -1:1)
  • 工作,非常感谢。我正在尝试使用循环,但这更容易。

标签: r variable-assignment seq


【解决方案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]

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    相关资源
    最近更新 更多