从R中的字符串数据创建抽象模式
我试图通过将标记分配到位置来在R中的字符串中找到模式。我有一个如下形式的向量。基本上是一个人在一年内改变位置。例如,在第一种情况下,一个人从伦敦搬到纽约,从伦敦搬到北京,再搬到克利夫兰从R中的字符串数据创建抽象模式,r,R,我试图通过将标记分配到位置来在R中的字符串中找到模式。我有一个如下形式的向量。基本上是一个人在一年内改变位置。例如,在第一种情况下,一个人从伦敦搬到纽约,从伦敦搬到北京,再搬到克利夫兰 path <- c('Lon-NYC-Lon-Bei-Cle', 'Mos-NYC-Bei-Cle-San', 'Bei-Cle-Bei-NYC-San') path如果您的唯一值总是少于26个,那么您可以使用如下内容 sapply(strsplit(path,"-"), function(x)
path <- c('Lon-NYC-Lon-Bei-Cle', 'Mos-NYC-Bei-Cle-San', 'Bei-Cle-Bei-NYC-San')
path如果您的唯一值总是少于26个,那么您可以使用如下内容
sapply(strsplit(path,"-"), function(x)
paste(LETTERS[factor(x, levels=unique(x))], collapse="-")
)
# [1] "A-B-A-C-D" "A-B-C-D-E" "A-B-A-C-D"
在这里,我们使用strsplit()
来查找不同的片段,并使用factor()
来识别重复的值。然后我们使用因子下面的数值索引成大写字母集如果您的唯一值总是少于26个,您可以使用类似的方法
sapply(strsplit(path,"-"), function(x)
paste(LETTERS[factor(x, levels=unique(x))], collapse="-")
)
# [1] "A-B-A-C-D" "A-B-C-D-E" "A-B-A-C-D"
在这里,我们使用strsplit()
来查找不同的片段,并使用factor()
来识别重复的值。然后,我们使用因子下面的数值索引成大写字母集