如何重新排序 R 数据框中的行索引?
如果我们有一个数据帧,其中行索引的顺序不正确,那么我们可以将它们设置为 NULL 以获得从 1 开始的正确行号序列。
例如,如果我们有一个名为 df 的数据框,它的行以不适当的方式排序,那么我们可以使用下面给出的命令以正确的顺序对行索引重新排序 -
row.names(df)<- NULL
示例 1
以下代码段创建了一个示例数据框 -
x<-rnorm(20)y<-rnorm(20)
df1<-data.frame(x,y)
df1
创建以下数据框 -
x y1 0.79220702 0.74396588
2 -0.27362051 -0.09125937
3 -1.34248184 -1.42285864
4 -1.10430033 0.26453631
5 -0.52047324 -0.54336532
6 -1.20612600 0.30704459
7 1.62577878 0.58061047
8 -0.09384629 -0.16973222
9 2.83732637 -0.58291919
10 -0.12450580 -0.76230292
11 1.50889524 1.13920262
12 0.19941471 0.81462851
13 0.21843905 -0.49421398
14 -1.97555113 -0.78007517
15 -1.02591803 -0.21299362
16 1.43648115 0.71561607
17 -0.15479259 0.16713844
18 0.06903559 -2.15635528
19 1.51844896 0.49315357
20 0.25861358 -1.43660348
要更改 df1 中行索引的顺序,请将以下代码添加到上述代码段中 -
x<-rnorm(20)输出结果y<-rnorm(20)
df1<-data.frame(x,y)
df1<-df1[sample(1:nrow(df1)),]
df1
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
x y16 1.43648115 0.71561607
6 -1.20612600 0.30704459
3 -1.34248184 -1.42285864
20 0.25861358 -1.43660348
9 2.83732637 -0.58291919
1 0.79220702 0.74396588
8 -0.09384629 -0.16973222
19 1.51844896 0.49315357
2 -0.27362051 -0.09125937
4 -1.10430033 0.26453631
12 0.19941471 0.81462851
13 0.21843905 -0.49421398
18 0.06903559 -2.15635528
10 -0.12450580 -0.76230292
14 -1.97555113 -0.78007517
5 -0.52047324 -0.54336532
11 1.50889524 1.13920262
17 -0.15479259 0.16713844
7 1.62577878 0.58061047
15 -1.02591803 -0.21299362
要对 df1 中的行索引重新排序,请将以下代码添加到上述代码段中 -
x<-rnorm(20)输出结果y<-rnorm(20)
df1<-data.frame(x,y)
df1<-df1[sample(1:nrow(df1)),]
row.names(df1)<-NULL
df1
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
x y1 1.43648115 0.71561607
2 -1.20612600 0.30704459
3 -1.34248184 -1.42285864
4 0.25861358 -1.43660348
5 2.83732637 -0.58291919
6 0.79220702 0.74396588
7 -0.09384629 -0.16973222
8 1.51844896 0.49315357
9 -0.27362051 -0.09125937
10 -1.10430033 0.26453631
11 0.19941471 0.81462851
12 0.21843905 -0.49421398
13 0.06903559 -2.15635528
14 -0.12450580 -0.76230292
15 -1.97555113 -0.78007517
16 -0.52047324 -0.54336532
17 1.50889524 1.13920262
18 -0.15479259 0.16713844
19 1.62577878 0.58061047
20 -1.02591803 -0.21299362
示例 2
以下代码段创建了一个示例数据框 -
a<-rpois(20,2)b<-rpois(20,5)
c<-rpois(20,2)
df2<-data.frame(a,b,c)
df2
创建以下数据框 -
a b c1 2 1 2
2 0 10 0
3 1 2 1
4 2 5 0
5 4 4 2
6 2 4 5
7 3 5 2
8 4 2 3
9 4 6 2
10 1 3 3
11 1 9 1
12 2 4 3
13 4 6 1
14 2 4 1
15 4 7 3
16 1 2 0
17 0 5 1
18 2 4 1
19 0 8 5
20 3 6 3
要更改 df2 中行索引的顺序,请将以下代码添加到上述代码段中 -
a<-rpois(20,2)输出结果b<-rpois(20,5)
c<-rpois(20,2)
df2<-data.frame(a,b,c)
df2<-df2[sample(1:nrow(df2)),]
df2
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
a b c6 2 4 5
7 3 5 2
9 4 6 2
15 4 7 3
2 0 10 0
19 0 8 5
10 1 3 3
20 3 6 3
16 1 2 0
3 1 2 1
18 2 4 1
5 4 4 2
12 2 4 3
17 0 5 1
4 2 5 0
8 4 2 3
11 1 9 1
13 4 6 1
1 2 1 2
14 2 4 1
要重新排序 df2 中的行索引,请将以下代码添加到上面的代码段中 -
a<-rpois(20,2)输出结果b<-rpois(20,5)
c<-rpois(20,2)
df2<-data.frame(a,b,c)
df2<-df2[sample(1:nrow(df2)),]
row.names(df2)<-NULL
df2
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
a b c1 2 4 5
2 3 5 2
3 4 6 2
4 4 7 3
5 0 10 0
6 0 8 5
7 1 3 3
8 3 6 3
9 1 2 0
10 1 2 1
11 2 4 1
12 4 4 2
13 2 4 3
14 0 5 1
15 2 5 0
16 4 2 3
17 1 9 1
18 4 6 1
19 2 1 2
20 2 4 1
以上是 如何重新排序 R 数据框中的行索引? 的全部内容, 来源链接: utcz.com/z/327401.html