【问题标题】:R: Split character based on case in a dataframeR:根据数据框中的大小写拆分字符
【发布时间】:2017-10-13 21:08:37
【问题描述】:

我需要将一列名称(如“AbiesAlba”“GenusSpecies”)拆分为单独的“Genus”“Species”列。

属种
冷杉
冷杉

需要:

属种
冷杉
冷杉阿尔巴

我知道我需要使用类似于 gsub('([[:upper:]])', ' \1', x) 的东西和某种形式的 mutate,但是当我使用 gsub 命令时,它会将所有内容拆分为一个向量而不是一个数据框。

【问题讨论】:

    标签: r dplyr gsub strsplit


    【解决方案1】:
    x <- c('GenusSpecies',
           'AbiesAlba',
           'AbiesAlba')
    
    Genus <- gsub('(.*)[A-Z].*','\\1',x)
    Species <- gsub('.*([A-Z].*)','\\1',x)
    
    df <- data.frame(Genus, Species, stringsAsFactors = FALSE)
    df
    

    【讨论】:

      猜你喜欢
      • 2022-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      相关资源
      最近更新 更多