R中字符串的自动缩写词

Ant*_*nko 3 string parsing r

地块中的长串并不总是有吸引力.在R中缩写首字母缩写词的最短方法是什么?例如,"Hello world"到"HW",并且最好具有唯一的首字母缩略词.

有功能abbreviate,但它只删除短语中的一些字母,而不是取每个单词的第一个字母.

A5C*_*2T1 10

一个简单的方法是使用的组合strsplit,substrmake.unique.

这是一个可以编写的示例函数:

makeInitials <- function(charVec) {
  make.unique(vapply(strsplit(toupper(charVec), " "), 
                     function(x) paste(substr(x, 1, 1), collapse = ""), 
                     vector("character", 1L)))
}
Run Code Online (Sandbox Code Playgroud)

测试出来:

X <- c("Hello World", "Home Work", "holidays with children", "Hello Europe")
makeInitials(X)
# [1] "HW"   "HW.1" "HWC"  "HE"  
Run Code Online (Sandbox Code Playgroud)

也就是说abbreviate,如果你使用它的一些论点,我认为这应该足够了:

abbreviate(X, minlength=1)
#            Hello World              Home Work holidays with children           Hello Europe 
#                  "HlW"                  "HmW"                  "hwc"                   "HE" 
Run Code Online (Sandbox Code Playgroud)