[英]How to sort negative values - dplyr
I have a data frame that looks as follows:我有一个如下所示的数据框:
> df <- data_frame(g = c('A', 'A', 'B', 'B', 'B', 'A'), h = c(7, 3, 5, 9, 2, 4), i = c(-7, -3, 5, -9, 2, 4))
> df
# A tibble: 6 x 3
g h i
<chr> <dbl> <dbl>
1 A 7 -7
2 A 3 -3
3 B 5 5
4 B 9 -9
5 B 2 2
6 A 4 4
I want an output first sorted by h using groups from g and then sort I.我想要一个 output 首先使用 g 中的组按 h 排序,然后对 I 进行排序。
> df
# A tibble: 6 x 3
g h i
<chr> <dbl> <dbl>
1 A 7 -7
6 A 3 -3
2 A 4 4
4 B 9 -9
3 B 5 5
5 B 2 2
I tried this but negative values are not sorting correctly.我试过了,但负值排序不正确。
df %>% group_by(g)%>%
arrange(g, desc(h), desc(i))
It looks like you want to sort i
by the absolute value.看起来您想按绝对值对
i
进行排序。
df %>% group_by(g)%>%
arrange(g, desc(h), desc(abs(i)))
# A tibble: 6 x 3
# Groups: g [2]
g h i
<chr> <dbl> <dbl>
1 A 7 -7
2 A 4 4
3 A 3 -3
4 B 9 -9
5 B 5 5
6 B 2 2
Do you mean this?你是这个意思吗?
> df[with(df, order(g, -h, -i)), ]
g h i
1 A 7 -7
6 A 4 4
2 A 3 -3
4 B 9 -9
3 B 5 5
5 B 2 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.