R语言 如何在R中改变DataFrame的行名
行是堆积在一起的,每一行都用一个唯一的名字来表示。默认情况下,从1开始到行数的整数标识符被分配给数据框。这里的任务是使用R编程改变给定数据框中的行名。
使用中的数据集 。
第一个 | 第二行 | 第三行 |
---|---|---|
1 | a | 7 |
2 | ab | 8 |
3 | cv | 9 |
4 | dsd | 10 |
方法1:使用rownames() 方法
一个数据框架的行可以使用R编程语言中的rownames()方法来访问。我们可以使用一个数字或字符串的矢量来指定新的行名,并将其分配给rownames()方法。然后,数据框架会被修改,反映出新的行名。矢量中的项目数量应该与数据框架中的行数相等。
语法 。
rownames(dataframe)
例子 。
# 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)
输出
[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(),可以用来访问数据框的行名,并且可以使用新的向量列表来连续修改。 然后,数据框会被修改,反映出新的行名。
语法 。
row.names(dataframe)
# 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