R语言 向数据框添加索引ID

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程