【问题标题】:R function to increment numbers at each rowR函数在每一行增加数字
【发布时间】:2026-01-26 21:35:01
【问题描述】:

我正在尝试在数据框中创建一个新列“ID”。

每行必须有一个唯一的 ID,每次递增 5。但它不应从 0 开始,而是从所需的数字开始(假设 N = 另一个数据集列的最大值)。

最简单的方法是什么? (循环?函数?)

【问题讨论】:

    标签: r loops data-munging


    【解决方案1】:

    您可以使用seq(first_value,step, length.out),因此在您的情况下,ID <- seq(N, by = 5, length.out = nrow(data))data 您是实际数据。这是一个起点为 10 的示例(您可以将其替换为 N):

    library(dplyr)
    iris %>% 
      mutate(ID = seq(10,by = 5,length.out = nrow(iris)))
    

    输出:

      Sepal.Length Sepal.Width Petal.Length Petal.Width Species ID
    1          5.1         3.5          1.4         0.2  setosa 10
    2          4.9         3.0          1.4         0.2  setosa 15
    3          4.7         3.2          1.3         0.2  setosa 20
    4          4.6         3.1          1.5         0.2  setosa 25
    5          5.0         3.6          1.4         0.2  setosa 30
    6          5.4         3.9          1.7         0.4  setosa 35
    ...
    

    【讨论】: