地块中的长串并不总是有吸引力.在R中缩写首字母缩写词的最短方法是什么?例如,"Hello world"到"HW",并且最好具有唯一的首字母缩略词.
有功能abbreviate,但它只删除短语中的一些字母,而不是取每个单词的第一个字母.
A5C*_*2T1 10
一个简单的方法是使用的组合strsplit,substr和make.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)