我在排序stat0
列中的後面的數據幀(sds45)時遇到了特殊問題;R多列數據的排序
>sds45
icntr iexpt angle overlap Specified.Shot.Width V6 mcsp stat0
DD.Sigma2 3 1R50_50 45 0 50 rectangular 1.5 3.62075986666667
DD.Sigma5 6 1R50_35 45 15 50 rectangular 1.5 1.07005992333333
DD.Sigma8 9 1R50_40 45 10 50 rectangular 1.5 1.36916201
DD.Sigma11 12 1R50_30 45 20 50 rectangular 1.5 0.951408239333333
DD.Sigma14 15 1R100_75 45 25 100 rectangular 1.5 11.6972803333333
DD.Sigma17 18 1R100_80 45 20 100 rectangular 1.5 13.4350596666667
DD.Sigma20 21 1R100_90 45 10 100 rectangular 1.5 16.654366
DD.Sigma31 32 1R100_150 45 50 100 rectangular 1.5 2.19166406666667
DD.Sigma34 35 1R100_160 45 40 100 rectangular 1.5 5.4822418
DD.Sigma39 40 1C200_25 45 75 100 circular 1.5 0.704197414
DD.Sigma42 43 1C200_50 45 50 100 circular 1.5 1.03405964333333
DD.Sigma45 46 1C200_75 45 25 100 circular 1.5 7.03481966666667
DD.Sigma48 49 1C200_80 45 20 100 circular 1.5 9.19375816666667
我的第一種方法是這樣的:
test<-sds45[order(sds45$stat0),]
...這什麼也沒做。
我也試過這樣:
test=orderBy(~stat0, data=sds45)
我必須有一個基本的概念問題。我希望對此有一點教育。
是stat0列的數字?有趣的事情發生時,你排序字符向量!如果您訂購數字,您首次嘗試使用「訂單」應該很好。 – Justin 2012-01-30 14:58:12
我敢打賭,你的一些列是因素而不是字符/數字。在這種情況下,他們將按照他們的基本代碼進行排序,而不是他們的級別使用'str(sds45)'來檢查。 – 2012-01-30 15:00:59
您的第一種方法適用於我。 'stat0'是數字列嗎? 'str(sds45 $ stat0)'給了你什麼? – 2012-01-30 15:01:56