首页 文章

R:基于数据帧中的大小写分割字符

提问于
浏览
0

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

GenusSpecies
AbiesAlba
AbiesAlba

需要是:

属种
Abies Alba
Abies Alba

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

1 回答

  • 0
    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
    

相关问题