我有一個由兩個因子列組成的數據框。 而我想按一列升序排列,另一列降序排列。 更具體地說,我想找到相當於R代碼裏面到SQL 「由1個遞增順序,2遞減」按單因子列排序數據框升序另一因子降
-3
A
回答
-1
你也可以使用order
功能與method = "radix"
,它允許您傳遞參數的向量decreasing
:
## Generate sample data:
set.seed(123)
dat <- data.frame(a = letters[sample(1:5, 20, replace = TRUE)],
b = rep(c("orange", "apple", "pear", "banana"), 5))
## Sort by increasing a and decreasing b:
dat2 <- dat[order(dat$a, dat$b, decreasing = c(FALSE, TRUE), method = "radix"),]
head(dat2)
a b
15 a pear
6 a apple
18 a apple
19 b pear
1 b orange
17 b orange
或者,也可以在爲了增加兩列進行排序,只是使用功能rev
反向柱b
:
dat3 <- dat[order(dat$a, rev(dat$b)),]
head(dat3)
a b
15 a pear
6 a apple
18 a apple
19 b pear
1 b orange
17 b orange
0
您可以通過變量輕鬆地與dplyr::arrange
例安排行:
set.seed(123)
dat <- data.frame(a= letters[sample(1:26, 20)],
b = rep(c("orange", "apple", "pear", "banana"), 5))
dat %>% arrange(a, desc(b))
+0
非常感謝,但是,有沒有使用基礎包的另一種方式? – raccoonjin
+0
檢查這個,而不是... http://stackoverflow.com/questions/1296646/how-to-sort-a-dataframe-by-columns –
相關問題
- 1. R:按兩個因子排序框架
- 2. 在數據框中按因子排序堆積條形圖
- 3. 兩列CSV數據排序 - 一列str(升序)另一列日期(降序)
- 4. 排序一個清單:數字升序排列,字母降序
- 5. C++因子程序:輸出因子數
- 6. 直方圖因子排序
- 7. 按升序/降序排列vba excel
- 8. 數組排序按降序而不是升序排列
- 9. 總結一個排序因子
- 10. 升序和降序排列
- 11. C - Qsort:按升序排序並按年降序排列
- 12. 按因子分解數據
- 13. 基於跨列的相同因子值排序數據幀
- 14. R數據框因子
- 15. 從一列到另一列的複製因子級別順序
- 16. 如何按R條件排列因子?
- 17. MYSQL按升序和降序排序
- 18. XQuery按升序和降序排序
- 19. Modx:getResources - 按ID升序/降序排序?
- 20. 按升序對數據列表排序
- 21. WORD VBA按升序排序和降序排列
- 22. id以降序排列S.N,按升序排列
- 23. 素因子程序
- 24. 因子Java程序
- 25. 如何雙向排序python列表,按降序排列數字,按升序排列字母排序?
- 26. PHP - 基於排序數組的排序因子:: usort?
- 27. 按降序排列數組?
- 28. ngx-datatable中的排序數字列按升序和降序排列。 Angular 2/4
- 29. 排序gridview列升序和降序
- 30. 基於另一個因素的重排因子水平
我剛剛發現這種方法不工作。只是你的樣品列b不是有序減少的。 – raccoonjin
排序優先列a。對於a的重複值,列b按降序排列。您通常不能對數據框進行排序,以便兩列按照指定的順序排列。 – ikop