我有這樣一個資料框架
a < - c(5, 7。 9, 11)
b < - c(-8。 -10。 -3, -1)
c < - c(-4。 -1。 -6, 3)
df <- data. frame(a,b,c)
a b c
1 5 -8 -4
2 7 -10 -1
3 9 -3 - 6
4 11 -1 3
那么我想讓這些行按照其中的最大凈值排序,與列無關。我的意思是,我希望能有這樣的結果:
我希望能有這樣的結果。
a b c
4 11 -1 3
2 7 -10 -1
3 9 -3 - 6
1 5 -8 -4
你可以看到它被排序了,因為第一行的值是11,第二行(-10),第三行(9),第四行(-8)
uj5u.com熱心網友回復:
你可以得到絕對值的ROWISE最大值并對其進行排序。
df[order(-do. call(pmax, abs(df))。 ]
# a b c
#4 11 -1 3
#2 7 -10 -1
#3 9 -3 -6
#1 5 -8 -4
uj5u.com熱心網友回復:
這個解決方案是可行的,但它不是最優雅的解決方案
libray(dplyr)
df%>%
rowwise() %>%
突變(max_row_value = max(abs(c_across(a: c))) %> %
arrange(-max_row_value)
# A tibble: 4 x 4
# 按行計算。
a b c max_row_value
<dbl>/span> <dbl> <dbl> <dbl>
1 11 -1 3 11
2 7 -10 -1 10
3 9 -3 -6 9
4 5 -8 -4 8
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/310792.html
標籤:
