r - R中名称的缩写向量,使用stringr库
问题描述
我有这个变量:
names<-c("Sophia Abbe", "Olivia Abbett", "Emma Abbey", "Ava Abbitt", "Isabella Abbot", "Mia Abbott", "Aria Abbs")
我想缩写名字并将它们放入向量中。
我想获得一个像 ("S. Abbe", "O. Abbett", ... , "A. Abbs) 这样的向量
使用 stringr 函数 str_c()、str_split() 和 str_sub() 执行此操作的有效方法是什么?
解决方案
sub
通过匹配小写字母并替换为.
in的选项base R
sub("[a-z]+", ".", names)
#[1] "S. Abbe" "O. Abbett" "E. Abbey" "A. Abbitt" "I. Abbot" "M. Abbott" "A. Abbs"
在此[a-z]+
匹配一个或多个较低的字符块,即第一个单词中的字符(因为我们正在使用sub
)并替换为""
或使用str_replace
library(stringr)
str_replace(names, "[a-z]+", ".")
推荐阅读
- random - 旋转后的协方差矩阵
- excel - Excel VBA - 另一个工作簿中的工作表中的数据
- android - FusedLocationProvider 坏了?
- selenium - 如何在 browserStack 功能中将虚假媒体流传递给 Safari IOS?
- c# - WPF 应用程序 DispatcherTimer 无法正常工作(滞后)
- swift4 - 实现 CaseIterable Swift 4 的字符串枚举扩展
- couchdb - 超级账本结构沙发数据库数据
- r - 选定列的参数化查询
- html - Gmail API User.Settings.SendAs Signature 仅将输入视为纯文本
- ruby-on-rails - 带有嵌套事务的 ActiveRecord::Base.transaction