数据狂df含有品种来源列文本类型利用R提取该列的所有非汉字字符添加到新列新列名称为亲本若含有多个非汉字字符以顿号隔开
假设数据狂df的品种来源列名称为"source",可以使用正则表达式来提取所有非汉字字符,然后使用paste函数将多个非汉字字符以顿号隔开,最后添加到新列"亲本"中。
代码如下:
library(stringr)
df$亲本 <- str_extract_all(df$source, "[^[:alnum:][:punct:]\\s]+") %>%
lapply(function(x) paste(x, collapse = "、")) %>%
unlist()
解释:
- str_extract_all:使用正则表达式"[^[:alnum:][:punct:]\s]+"来提取所有非汉字字符,返回一个列表。
- lapply:对列表中的每个元素应用paste函数,将多个非汉字字符以顿号隔开。
- unlist:将列表转换为向量,作为新列"亲本"的值。
原文地址: https://www.cveoy.top/t/topic/b4Fw 著作权归作者所有。请勿转载和采集!