gpt4 book ai didi

r - 如何在dplyr中以降序排列奇数和以升序排列偶数

转载 作者:行者123 更新时间:2023-12-01 08:49:33 24 4
gpt4 key购买 nike

我在 r 中有以下数据框

   ID     bay    row     number     
1 43 11 ABC
2 43 6 DEF
3 43 13 QWE
4 43 15 XDF
5 43 4 VGH
6 43 2 TYU
7 11 11 QAS
8 11 13 QTO
9 11 12 EWQ
10 11 10 RFT

我想按 bay

将奇数按降序排列,偶数按升序排列

我想要的数据框将跟随

  ID     bay     row     number     
1 43 15 XDF
2 43 13 QWE
3 43 11 ABC
4 43 2 TYU
5 43 4 VGH
6 43 6 DEF
7 11 13 QTO
8 11 11 QAS
9 11 10 RFT
10 11 12 EWQ

如何在 dplyr 中执行此操作?

最佳答案

library(dplyr)

df <- read.table(text =
" ID bay row number
1 43 11 ABC
2 43 6 DEF
3 43 13 QWE
4 43 15 XDF
5 43 4 VGH
6 43 2 TYU
7 11 11 QAS
8 11 13 QTO
9 11 12 EWQ
10 11 10 RFT ",
stringsAsFactors = FALSE, header = TRUE)

arrange(df, desc(bay), desc(row %% 2), row * (-1)^(row%%2))

# ID bay row number
# 1 4 43 15 XDF
# 2 3 43 13 QWE
# 3 1 43 11 ABC
# 4 6 43 2 TYU
# 5 5 43 4 VGH
# 6 2 43 6 DEF
# 7 8 11 13 QTO
# 8 7 11 11 QAS
# 9 10 11 10 RFT
# 10 9 11 12 EWQ

关于r - 如何在dplyr中以降序排列奇数和以升序排列偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45614404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com