3

重複の可能性:
R の列でデータフレームを並べ替える方法

data.frame を複数の列で並べ替えようとしています

df<-data.frame("Sp1"=c(7,4,2),"Sp2"=c(6,2,1))
row.names(df)<-c("A01","A02","A03")

    Sp1 Sp2
A01   7   6
A02   4   2
A03   2   1

#I am using    

df[with(df, order("Sp1"))]

ただし、これは何もしません。理由はありますか?ありがとう

4

2 に答える 2

6

Sp1を使用する場合は引用しないでくださいwith。これは常に返さ1れるため、最初の行が返されます。代わりにこれを試してください:

> df[order(df$Sp1),] 
    Sp1 Sp2
A03   2   1
A02   4   2
A01   7   6
> df[with(df, order(Sp1)), ]
    Sp1 Sp2
A03   2   1
A02   4   2
A01   7   6
于 2012-07-22T11:48:20.960 に答える
2

doByパッケージ内で別の組み込み関数を使用することもできます。

# install.packages('doBy')
library(doBy)
orderBy(Sp1~Sp2, data=df)
    Sp1 Sp2
A03   2   1
A02   4   2
A01   7   6
于 2012-07-22T17:25:06.887 に答える