繁体   English   中英

R:根据数据框中的大小写分隔字符

[英]R: Split character based on case in a dataframe

我需要将诸如“ AbiesAlba”,“ GenusSpecies”之类的名称列拆分为单独的“ Genus”,“ Species”列。

属种
冷杉
冷杉

需要是:

属种
冷杉冷杉
冷杉冷杉

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM