【发布时间】:2016-09-20 09:54:27
【问题描述】:
目前,下面的脚本正在将组合的项目代码拆分为特定的项目代码。
rule2 <- c("MR")
df_1 <- test[grep(paste("^",rule2,sep="",collapse = "|"),test$Name.y),]
SpaceName_1 <- function(s){
num <- str_extract(s,"[0-9]+")
if(nchar(num) >3){
former <- substring(s, 1, 4)
latter <- strsplit(substring(s,5,nchar(s)),"")
latter <- unlist(latter)
return(paste(former,latter,sep = "",collapse = ","))
}
else{
return (s)
}
}
df_1$Name.y <- sapply(df_1$Name.y, SpaceName_1)
例如, 组合项目代码:324-326 室正在拆分为MR324 MR325 MR326。
但是对于这个特定的组合项目代码:309-311 室 正在拆分为 MR309 MR300 MR301。
我应该如何修改脚本给我 MR309 MR310 MR311?
【问题讨论】:
-
我怀疑
df_1$Name.y <- sapply(df_1$Name.y, SpaceName_1)在拆分后会起作用,因为我们将创建一个比原始行更多的列。