📜  如何在 R 中更改 DataFrame 的行名称?

📅  最后修改于: 2022-05-13 01:54:59.292000             🧑  作者: Mango

如何在 R 中更改 DataFrame 的行名称?

这些行堆叠在一起,每行都由一个唯一的名称表示。默认情况下,从 1 开始到行数的整数标识符默认分配给数据框。这里的任务是使用 R 编程更改给定数据框中的行名称。

使用中的数据集:

First SecondThird
1a7
2ab8
3cv9
4dsd10

方法 1:使用 rownames()

可以使用 R 编程语言中的 rownames() 方法访问数据框的行。我们可以使用数字或字符串向量指定新行名称,并将其分配回 rownames() 方法。然后修改数据框以反映新的行名称。向量中的项数应等于数据框中的行数。

句法:

例子:

R
# declaring a data frame
df <- data.frame(First = c(1,2,3,4) , 
                 Second = c("a","ab","cv","dsd"),
                 Third=c(7:10))
  
# print original data frame
print ("Original DataFrame : ")
print (df)
  
# printing original rownames 
# of data frame
rownames <- rownames(df)
print ("Original row names ")
print (rownames)
  
# changing row names of data frame
rownames(df) <- c("Row1","Row2","Row3","Row4")
  
# print changed data frame
print ("Modified DataFrame : ")
print (df)


R
# declaring a data frame
df <- data.frame(First = c(1,2,3,4) ,
                 Second = c("a","ab","cv","dsd"),
                 Third=c(7:10))
  
# print original data frame
print ("Original DataFrame : ")
print (df)
  
# printing original colnames
# of data frame
rownames <- rownames(df)
print ("Original row names ")
print (rownames)
  
# changing row names of data frame
row.names(df) <- LETTERS[1:4] 
  
# print changed data frame
print ("Modified DataFrame : ")
print (df)


R
# declaring a data frame
df <- data.frame(First = c(1,2,3,4) ,
                 Second = c("a","ab","cv","dsd"),
                 Third=c(7:10))
  
# print original data frame
print ("Original DataFrame : ")
print (df)
  
# printing original colnames
# of data frame
rownames <- rownames(df)
print ("Original row names ")
print (rownames)
  
# changing row names of second
# row of data frame
row.names(df)[2] <- "ModifiedSecond"  
  
# print changed data frame
print ("Modified DataFrame : ")
print (df)


输出

[1] "Original DataFrame : "
 First Second Third
1     1      a     7
2     2     ab     8
3     3     cv     9
4     4    dsd    10
[1] "Original column names "
[1] "1" "2" "3" "4"
[1] "Modified DataFrame : "
    First Second Third
Row1     1      a     7
Row2     2     ab     8
Row3     3     cv     9
Row4     4    dsd    10

方法 2:使用 row.names()

有一个内置的 R函数row.names() 可用于访问数据框的行名称,然后可以使用新的向量列表对其进行修改。然后修改数据框以反映新的行名称。

句法:

电阻

# declaring a data frame
df <- data.frame(First = c(1,2,3,4) ,
                 Second = c("a","ab","cv","dsd"),
                 Third=c(7:10))
  
# print original data frame
print ("Original DataFrame : ")
print (df)
  
# printing original colnames
# of data frame
rownames <- rownames(df)
print ("Original row names ")
print (rownames)
  
# changing row names of data frame
row.names(df) <- LETTERS[1:4] 
  
# print changed data frame
print ("Modified DataFrame : ")
print (df)

输出

[1] "Original DataFrame : "
 First Second Third
1     1      a     7
2     2     ab     8
3     3     cv     9
4     4    dsd    10
[1] "Original row names "
[1] "1" "2" "3" "4"
[1] "Modified DataFrame : "
 First Second Third
A     1      a     7
B     2     ab     8
C     3     cv     9
D     4    dsd    10

也可以通过指定我们希望修改的行的索引,然后将其分配给新的对象值来修改特定的行名称。

例子:

电阻

# declaring a data frame
df <- data.frame(First = c(1,2,3,4) ,
                 Second = c("a","ab","cv","dsd"),
                 Third=c(7:10))
  
# print original data frame
print ("Original DataFrame : ")
print (df)
  
# printing original colnames
# of data frame
rownames <- rownames(df)
print ("Original row names ")
print (rownames)
  
# changing row names of second
# row of data frame
row.names(df)[2] <- "ModifiedSecond"  
  
# print changed data frame
print ("Modified DataFrame : ")
print (df)

输出

[1] "Original DataFrame : "
 First Second Third
1     1      a     7
2     2     ab     8
3     3     cv     9
4     4    dsd    10
[1] "Original row names "
[1] "1" "2" "3" "4"
[1] "Modified DataFrame : "
              First Second Third
1                  1      a     7
ModifiedSecond     2     ab     8
3                  3     cv     9
4                  4    dsd    10