首页 > 解决方案 > 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() 执行此操作的有效方法是什么?

标签: r

解决方案


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]+", ".")

推荐阅读