R语言 向数据框添加索引ID
在这篇文章中,我们将讨论如何在R编程语言中向数据框架添加索引ID。
方法1:使用cbind()和nrow()方法
R编程语言中的nrow()方法用于计算数据框架中的行数,该数据框架被指定为该方法的参数。R语言中的cbind()方法用于向数据框架添加一个向量。矢量是按照函数调用时指定的顺序追加到数据框中的。为了用一个ID向量引导数据框,将使用以下语法。
cbind(vec , data_frame)
矢量的长度应该相当于数据框中的行数。
例子
# declaring a data frame in R
data_frame <- data.frame(x1 = 2:7,
x2 = letters[1:6],
x3 = 6,
row.names = c('I','II','III','IV','V','VI'))
print("Original Data Frame")
print(data_frame)
# number of rows in data frame
num_rows = nrow(data_frame)
# creating ID column vector
ID <- c(1:num_rows)
# binding id column to the data frame
data_frame1 <- cbind(ID , data_frame)
print("Modified Data Frame")
print (data_frame1)
输出
[1] "Original Data Frame"
x1 x2 x3
I 2 a 6
II 3 b 6
III 4 c 6
IV 5 d 6
V 6 e 6
VI 7 f 6
[1] "Modified Data Frame"
ID x1 x2 x3
I 1 2 a 6
II 2 3 b 6
III 3 4 c 6
IV 4 5 d 6
V 5 6 e 6
VI 6 7 f 6
方法2:将行名指定为数据框中的索引ID
为了用索引ID列引导数据框,我们还可以重新分配数据框的行名,以反映从1开始到数据框中行数的递增整数值。rownames(df)方法被用来分配行名。所有的变化都反映在原始数据框中。
例子
# declaring a data frame in R
data_frame <- data.frame(x1 = 2:7,
x2 = letters[1:6],
x3 = 6,
row.names = c('I','II','III','IV','V','VI')
)
print("Original Data Frame")
print(data_frame)
# number of rows in data frame
num_rows = nrow(data_frame)
# changing row names of the data frame
rownames(data_frame) <- c(1:num_rows)
print("Modified Data Frame")
print (data_frame)
输出
[1] "Original Data Frame"
x1 x2 x3
I 2 a 6
II 3 b 6
III 4 c 6
IV 5 d 6
V 6 e 6
VI 7 f 6
[1] "Modified Data Frame"
x1 x2 x3
1 2 a 6
2 3 b 6
3 4 c 6
4 5 d 6
5 6 e 6
6 7 f 6
方法3:使用seq.int()方法
R中的seq.int()方法是用来生成从1开始到指定为函数参数的数字x的整数序列。行的名称已经包含在其中。新增加的列被附加在数据框架的末尾。
语法
seq.int(x)
例子
# declaring a data frame in R
data_frame <- data.frame(x1 = 2:7,
x2 = letters[1:6],
x3 = 6,
row.names = c('I','II','III','IV','V','VI')
)
print("Original Data Frame")
print(data_frame)
# number of rows in data frame
num_rows = nrow(data_frame)
# creating ID column vector
data_frame$ID <- seq.int(num_rows)
print("Modified Data Frame")
print (data_frame)
输出
[1] "Original Data Frame"
x1 x2 x3
I 2 a 6
II 3 b 6
III 4 c 6
IV 5 d 6
V 6 e 6
VI 7 f 6
[1] "Modified Data Frame"
x1 x2 x3 ID
I 2 a 6 1
II 3 b 6 2
III 4 c 6 3
IV 5 d 6 4
V 6 e 6 5
VI 7 f 6 6
方法4:使用dplyr库
dplyr包的mutate方法可以用来向包含的数据框架对象添加、删除和修改更多的数据。为了增加一个新的列,可以使用以下变体的突变方法。
语法
mutate(new-col-name = logic)
其中逻辑指定了数据添加所依据的条件
这里,row_number()方法被用来提供一个递增的整数序列来存储行号。新添加的列被附加在现有数据对象的末尾。
例子
library(dplyr)
data_frame <- data.frame(x1 = 2:7,
x2 = letters[1:6],
x3 = 6
)
print("Original Data Frame")
print(data_frame)
data_frame <- data_frame %>% mutate(ID = row_number())
print("Modified Data Frame")
print(data_frame)
输出
[1] "Original Data Frame"
x1 x2 x3
1 2 a 6
2 3 b 6
3 4 c 6
4 5 d 6
5 6 e 6
6 7 f 6
[1] "Modified Data Frame"
x1 x2 x3 ID
1 2 a 6 1
2 3 b 6 2
3 4 c 6 3
4 5 d 6 4
5 6 e 6 5
6 7 f 6 6