【发布时间】:2017-05-15 19:04:42
【问题描述】:
背景:
我有一个名为 abs 的 R 函数。该函数只有一个参数main.name。此函数的用户在引号中提供字符类型名称(例如,"Length of Residence"),函数abs 使用此用户提供的名称作为简单绘图的主标题。
问题
用户可能会提供一个很长的名称(例如,"Oral Language Ability of Minors")。为了克服这个问题:
我想知道是否有一种方法当用户提供 main.name 超过 2 个单词时,R 会选择每个单词的第一个字符并制作一个“缩写“那个main.name?
例如在这样的异常之后,"Oral Language Ability of Minors" 变为“OLAOM”。
abs = function (main.name) {
plot(rnorm(1e2), main = main.name)
}
abs ("Oral Language Ability of Minors")
【问题讨论】:
-
您可能会发现内置的
abbreviate函数很有用。如果您想要更大的灵活性,您可以创建自己的函数。例如,仅捕获每个单词的第一个字母:paste(sapply(strsplit(x, " "), substr, 1, 1), collapse=""),其中x是您的字符串。