遍历数据框以添加具有顺序值的新列

用户名

这是我的数据框“ data.frame”

    X   Y
1   10  12
2   20  22
3   30  32

低于我想要的。
1)添加一个名为“ New_col”的新列
2)给定id的每个单元格都是从X值到Y值的序列(步骤1)。

    X   Y   New_col
1   10  12  10
            11
            12
2   20  22  20
            21
            22
3   30  32  30
            31
            32

然后填充空单元格

    X   Y   New_col
1   10  12  10
1   10  12  11
1   10  12  12
2   20  22  20
2   20  22  21
2   20  22  22
3   30  32  30
3   30  32  31
3   30  32  32

我尝试了以下方法:

  New_col<-seq(from = data.frame$X, to = data.frame$Y, by = 1)

此代码的问题是仅计算第一行的序列。然后我尝试了一个循环:

for (i in 1: length(data.frame$X))
{
  New_col <-seq(from = data.frame$X, to = data.frame$Y, by = 1)
}

这是我得到的错误:

Error in seq.default(from = data.frame$X, to = data.frame$Y, by = 1) :
'from' must be of length 1

谢谢您的帮助。

斯文·霍恩斯坦(Sven Hohenstein)

您可以使用apply

do.call(rbind, apply(dat, 1, function(x) 
                      data.frame(X = x[1], Y = x[2], New_col = seq(x[1], x[2]))))

dat数据框的名称在哪里您可以忽略警告。

     X  Y New_col
1.1 10 12      10
1.2 10 12      11
1.3 10 12      12
2.1 20 22      20
2.2 20 22      21
2.3 20 22      22
3.1 30 32      30
3.2 30 32      31
3.3 30 32      32

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章