gpt4 book ai didi

根据条件重新排序变量

转载 作者:行者123 更新时间:2023-12-05 08:24:44 25 4
gpt4 key购买 nike

我想根据 2018-19 年的生产水平订购我的数据集。所以 company_code 3 首先出现 (5000),然后是 company_code 1 (2000),然后是 company_code 2 (1000)。

我有这样一个数据集:

<表类="s-表"><头>公司代码财政年度<日>生产 <正文>12018-19200012019-20250012020-21300012018-21750022018-19100022019-20150022020-21100022020-21350032018-19500032019-20550032020-21400032018-2114500

我想结束:

<表类="s-表"><头>公司代码财政年度<日>生产 <正文>32018-19500032019-20550032020-21400032018-211450012018-19200012019-20250012020-21300012018-21750022018-19100022019-20150022020-21100022020-213500

我试过:

dataset <- dataset %>% mutate(COMPANY_CODE = reorder(COMPANY_CODE, -production[financial_year=="2018/19"]))

但这行不通,有人可以帮忙吗?非常感谢

最佳答案

一个选择是使用辅助“列”,您只保留 2018/19 年的值并将所有其他值设置为 0,最后在 reorder 中使用 FUN=sum :

library(dplyr)

dataset %>%
mutate(company_code = reorder(company_code, -ifelse(financial_year == "2018-19", production, 0), FUN = sum)) |>
arrange(company_code)
#> company_code financial_year production
#> 1 3 2018-19 5000
#> 2 3 2019-20 5500
#> 3 3 2020-21 4000
#> 4 3 2018-21 14500
#> 5 1 2018-19 2000
#> 6 1 2019-20 2500
#> 7 1 2020-21 3000
#> 8 1 2018-21 7500
#> 9 2 2018-19 1000
#> 10 2 2019-20 1500
#> 11 2 2020-21 1000
#> 12 2 2020-21 3500

关于根据条件重新排序变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73428040/

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