regex-将一列拆分为多列,R中没有显式定界符

J

我的数据集中有一个名为“ Market.Pair”的列,其中包含有关某些航班的出发地和目的地的信息。例如:

input <- data.frame(Market.Pair = c("US to/from CA", "HOU to/from DFW/DAL", "EWR/JFK to/from LAX/SFO", "US-NYC to/from FR-PAR", "US to/from Asia"))
input

所有两个字母代表国家(例如,美国,加拿大)。所有三个字母词(或由“ /”分隔的多个三个字母词)代表机场(例如,HOU,DFW / DAL)。XX-XXX形式的所有单词都代表城市(例如US-NYC)。换句话说,代表区域,例如亚洲或欧洲。

我想将此列拆分为多个列:

output<- data.frame(Air.1 = c("HOU", "EWR/JFK", "", "", ""), Air.2 = c("DFW/DAL", "LAX/SFO", "", "", ""), City.1 = c("","","US-NYC", "", ""), City.2 = c("","","FR-PAR", "", ""), Country.1 = c("","","","US", "US"), Coutry.2 = c("","","","CA", ""), Region.1 = c("","","", "", "Asia"), Region.2 = c("","","", "", ""))
output

我是regex的新手,所以我们将不胜感激!

拉尔
input <- data.frame(Market.Pair = c("US to/from CA", "HOU to/from DFW/DAL",
                                    "EWR/JFK to/from LAX/SFO", "US-NYC to/from FR-PAR",
                                    "US to EMEA/India"))

sp <- strsplit(as.character(input$Market.Pair), '\\s+to(/from)?\\s+')

f <- Vectorize(function(x)
  if (grepl('\\-', x)) 'City' else if (nchar(x) == 2) 'Country' else
    if (grepl('^[A-Z]+/[A-Z]+$|^[A-Z]+$', x)) 'Air' else 'Region')

dd <- lapply(sp, function(x) {
  ## set up output matrix
  cn <- sort(levels(interaction(c('Air','City','Country','Region'), 1:2)))
  m <- matrix('', 1, length(cn), dimnames = list(NULL, cn))
  ## use f above and add the suffix
  xx <- f(x)
  nn <- setNames(x, paste(xx, ave(xx, xx, FUN = seq_along), sep = '.'))
  ## match
  m[, names(nn)] <- nn
  m
})
do.call('rbind.data.frame', dd)

#     Air.1   Air.2 City.1 City.2 Country.1 Country.2   Region.1 Region.2
# 1                                      US        CA                    
# 2     HOU DFW/DAL                                                      
# 3 EWR/JFK LAX/SFO                                                      
# 4                 US-NYC FR-PAR                                        
# 5                                      US           EMEA/India    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用熊猫中的多个定界符将一列拆分为多列

来自分类Dev

根据Postgres中的多个定界符将一列拆分为多行

来自分类Dev

PHP RegEx-没有结束定界符?

来自分类Dev

使用逗号定界符将单列数据拆分为SSIS中的多列

来自分类Dev

有多个定界符时如何将一列分为两列

来自分类Dev

R当定界符为“ ..”时,将一列分为两部分

来自分类Dev

PHP Regex定界符

来自分类Dev

是否可以使用String.Split或regex将字符串拆分为字符串数组并删除不在定界符之间的部分?

来自分类Dev

将具有不同定界符的列与不幸的分数结构拆分为2

来自分类Dev

根据同一定界符拆分多列

来自分类Dev

用定界符分割多列,并在r中具有一致的列名

来自分类Dev

SQL如何将带有2个不同定界符的一列拆分为多个变量列

来自分类Dev

使用Python和regex从一组定界符中按第一次出现的方式拆分字符串

来自分类Dev

Notepad ++忽略RegEx的结束定界符

来自分类Dev

根据定界符拆分列值,并与postgres中的另一列匹配

来自分类Dev

拆分R列,不带定界符

来自分类Dev

在熊猫数据框中使用定界符将列拆分为未知列数

来自分类Dev

没有分隔符时,如何将R中的一列分为两列?

来自分类Dev

R-将一列文字分为两列,没有分隔符

来自分类Dev

使用不同的分隔符将一列中的值拆分为 SQL 中的多列

来自分类Dev

C#使用Regex.Split拆分大字符串。必须保留定界符

来自分类Dev

C#使用Regex.Split拆分大字符串。必须保留定界符

来自分类Dev

SQL Server将一列拆分为多列

来自分类Dev

Pandas,DataFrame:将一列拆分为多列

来自分类Dev

将一列拆分为多列

来自分类Dev

将一列拆分或细分为多列

来自分类Dev

SQL Server将一列拆分为多列

来自分类Dev

将一列拆分为多列

来自分类Dev

Pandas,DataFrame:将一列拆分为多列

Related 相关文章

  1. 1

    用熊猫中的多个定界符将一列拆分为多列

  2. 2

    根据Postgres中的多个定界符将一列拆分为多行

  3. 3

    PHP RegEx-没有结束定界符?

  4. 4

    使用逗号定界符将单列数据拆分为SSIS中的多列

  5. 5

    有多个定界符时如何将一列分为两列

  6. 6

    R当定界符为“ ..”时,将一列分为两部分

  7. 7

    PHP Regex定界符

  8. 8

    是否可以使用String.Split或regex将字符串拆分为字符串数组并删除不在定界符之间的部分?

  9. 9

    将具有不同定界符的列与不幸的分数结构拆分为2

  10. 10

    根据同一定界符拆分多列

  11. 11

    用定界符分割多列,并在r中具有一致的列名

  12. 12

    SQL如何将带有2个不同定界符的一列拆分为多个变量列

  13. 13

    使用Python和regex从一组定界符中按第一次出现的方式拆分字符串

  14. 14

    Notepad ++忽略RegEx的结束定界符

  15. 15

    根据定界符拆分列值,并与postgres中的另一列匹配

  16. 16

    拆分R列,不带定界符

  17. 17

    在熊猫数据框中使用定界符将列拆分为未知列数

  18. 18

    没有分隔符时,如何将R中的一列分为两列?

  19. 19

    R-将一列文字分为两列,没有分隔符

  20. 20

    使用不同的分隔符将一列中的值拆分为 SQL 中的多列

  21. 21

    C#使用Regex.Split拆分大字符串。必须保留定界符

  22. 22

    C#使用Regex.Split拆分大字符串。必须保留定界符

  23. 23

    SQL Server将一列拆分为多列

  24. 24

    Pandas,DataFrame:将一列拆分为多列

  25. 25

    将一列拆分为多列

  26. 26

    将一列拆分或细分为多列

  27. 27

    SQL Server将一列拆分为多列

  28. 28

    将一列拆分为多列

  29. 29

    Pandas,DataFrame:将一列拆分为多列

热门标签

归档