如何在不丢失行名的情况下对R数据帧列进行排序?

当我们在R中对数据框列进行排序时,行名会丢失,但是我们可能需要它们。因此,需要在不丢失行名的情况下进行排序,并且可以在order函数的帮助下进行排序。例如,如果我们有一个名为df的数据框,该数据框具有一列x,则可以使用以下命令完成x的排序而不会丢失行名-

df[order(df$x),,drop=FALSE]

考虑以下数据帧-

示例

x1<-rnorm(20)

x2<-rnorm(20,525,23.2)

df1<-data.frame(x1,x2)

row.names(df1)<-LETTERS[1:20]

df1

输出结果
      x1       x2

A   1.7337922  534.3863

B  -0.6754809  534.8879

C   0.1106191  520.2269

D   0.2270701  513.5676

E  -0.5678853  558.2216

F  -0.1885840  534.2416

G   0.2192299  552.8982

H   1.5135296  488.6875

I   0.9043322  529.6242

J   0.7014559  552.5001

K   0.2591020  514.1494

L  -1.1273898  580.5344

M  -0.1771963  516.4953

N   0.2317244  503.3607

O   0.6529487  501.4557

P  -0.9165830  496.4222

Q  -2.2928809  490.9002

R   0.7511574  519.3586

S   1.5003125  504.2702

T   1.3791592  496.9542

基于x2对df1进行排序而不会丢失行名-

df1 [order(df1 $x2),, drop = FALSE]

       x1        x2

H   1.5135296   488.6875

Q  -2.2928809   490.9002

P  -0.9165830   496.4222

T   1.3791592   496.9542

O   0.6529487   501.4557

N   0.2317244   503.3607

S   1.5003125   504.2702

D   0.2270701   513.5676

K   0.2591020   514.1494

M  -0.1771963   516.4953

R   0.7511574   519.3586

C   0.1106191   520.2269

I   0.9043322   529.6242

F  -0.1885840   534.2416

A   1.7337922   534.3863

B  -0.6754809   534.8879

J   0.7014559   552.5001

G   0.2192299   552.8982

E  -0.5678853   558.2216

L  -1.1273898   580.5344

示例

y1<-rpois(20,5)

y2<-rpois(20,8)

df2<-data.frame(y1,y2)

row.names(df2)<-letters[1:20]

df2

输出结果
  y1  y2

a  5   7

b  5   5

c  4   6

d  7   1

e  3   8

f  7   9

g  5   9

h  2   7

i  3  14

j  12  6

k  6   9

l  12  7

m  2   11

n  5   6

o  5   11

p  3   3

q  6   10

r  3   9

s  7   8

t  6   8

基于y1对df2进行排序而不会丢失行名-

df2 [order(df2 $y1),, drop = FALSE]

输出结果

   y1  y2

h  2   7

m  2   11

e  3   8

i  3   14

p  3   3

r  3   9

c  4   6

a  5   7

b  5   5

g  5   9

n  5   6

o  5   11

k  6   9

q  6   10

t  6   8

d  7   1

f  7   9

s  7   8

j  12  6

l  12  7

以上是 如何在不丢失行名的情况下对R数据帧列进行排序? 的全部内容, 来源链接: utcz.com/z/349902.html

回到顶部