首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R获取向量中每个单词的第一个、前两个、前三个字母的列表

问R获取向量中每个单词的第一个、前两个、前三个字母的列表
EN

Stack Overflow用户
提问于 2019-08-30 07:13:54
回答 2查看 74关注 0票数 4

我想要将向量的每个元素转换为它们的第一个、前两个等字母,并再次接收一个具有结果的向量:

示例:

代码语言:javascript
复制
vector2 <- c("nike", "adidas")

结果:

代码语言:javascript
复制
> term2
[1]  "n"    "ni"   "nik"  "nike" "a"    "ad"   "adi"  "adid"  "adida"  "adidas"

这只适用于耐克:

代码语言:javascript
复制
vector1 <- c("nike")
  n <- nchar(vector1)
    for(i in 1:n)
     {
      term2[i] = substr(vector1, 1,i)
     }

但是呢?

代码语言:javascript
复制
  vector2 <- c("nike", "adidas")
EN

回答 2

Stack Overflow用户

发布于 2019-08-30 07:21:31

代码语言:javascript
复制
substring(rep(vector2, nchar(vector2)), 1, sequence(nchar(vector2)))
# [1] "n"      "ni"     "nik"    "nike"   "a"      "ad"     "adi"    "adid"   "adida" 
#[10] "adidas"
票数 1
EN

Stack Overflow用户

发布于 2019-08-30 07:21:31

这是一种使用mapply和sapply的方法-

代码语言:javascript
复制
v <- c("nike", "adidas")

unlist(
  mapply(function(x, y) {
    sapply(1:y, function(a) substr(x, 1, a))
  }, v, nchar(v))
)

nike1    nike2    nike3    nike4  adidas1  adidas2  adidas3  adidas4  adidas5  adidas6 
 "n"     "ni"    "nik"   "nike"      "a"     "ad"    "adi"   "adid"   "adida"  "adidas" 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57718710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档