R函数增加每一行的数字
R function to increment numbers at each row
我正在尝试在数据框中创建一个新列“ID”。
每行必须有一个唯一的 ID,每次递增 5。但它不应该从 0 开始,而是从所需的数字开始(假设 N = 另一个数据集列的最大值)。
最简单的方法是什么? (循环?函数?)
您可以使用 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
...
我正在尝试在数据框中创建一个新列“ID”。
每行必须有一个唯一的 ID,每次递增 5。但它不应该从 0 开始,而是从所需的数字开始(假设 N = 另一个数据集列的最大值)。
最简单的方法是什么? (循环?函数?)
您可以使用 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
...