gpt4 book ai didi

r - 相同地考虑往返

转载 作者:行者123 更新时间:2023-12-04 10:50:04 25 4
gpt4 key购买 nike

我很难在 R 中对路径变量进行编码,当路径相同时它采用唯一值,而不管起点和终点(起点是变量路径的前 4 个字符目的地是最后一个 4)。基础如下:

base <- data.frame(route = c("SBAA - SBBE", "SBAA - SBBR", "SBAA - SBCI",
"SBBE - SBAA", "SBBE - SBBR", "SBBR - SBBE"),
seats = c(1231, 1021, 715, 989, 759, 695))
base <- as_tibble(base)

# A tibble: 6 x 2
route seats
<chr> <dbl>
1 SBAA - SBBE 1231
2 SBAA - SBBR 1021
3 SBAA - SBCI 715
4 SBBE - SBAA 989
5 SBBE - SBBR 759
6 SBBR - SBBE 695

我想到了做一个转换来生成变量代码:

code <-as.numeric (as.factor (route))

但是,相同路线(相同的转机机场)的输出将不同,但起点和目的地机场相反。例如,“SBAA - SBBE”和 SBBE - SBAA“应该有相同的代码,但看起来像这样:

  route           seats       code
<chr> <dbl> <dbl>
1 SBAA - SBBE 1231 1
2 SBAA - SBBR 1021 2
3 SBAA - SBCI 715 3
4 SBBE - SBAA 989 4
5 SBBE - SBBR 759 5
6 SBBR - SBBE 695 6

我需要具有相同连接机场的航线具有相同的代码,以便代码变量返回以下结果:

  route           seats       code
<chr> <dbl> <dbl>
1 SBAA - SBBE 1231 1
2 SBAA - SBBR 1021 2
3 SBAA - SBCI 715 3
4 SBBE - SBAA 989 1
5 SBBE - SBBR 759 4
6 SBBR - SBBE 695 4

请注意,“SBAA - SBBE”的代码与“SBBE - SBAA”相同。感谢您的帮助。

最佳答案

如果我们提取单词,sortpaste然后将factor做成integer,它应该工作

library(dplyr)
library(stringr)
library(purrr)
base %>%
mutate(code = as.integer(factor(map_chr(str_extract_all(route,
"\\w+"), ~ str_c(sort(.x), collapse=" - ")))))

关于r - 相同地考虑往返,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58884671/

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