首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >r: lapply赋值

r: lapply赋值
EN

Stack Overflow用户
提问于 2017-10-03 20:52:47
回答 1查看 125关注 0票数 2

我想用x替换下面向量中每个字符串的第二个字母。

代码语言:javascript
复制
ba <- c('ba','aba','baba')
# goal: bx, axa, bxba

通常我只会使用substr(ba,2,2) <- 'x'。但由于过于复杂的原因,我在尝试避免使用substr,而是寻找另一种解决方案。因此,我尝试拆分字符串并替换每个列表中的第二个元素。但是我收到了这个错误消息。

代码语言:javascript
复制
ba2 <- strsplit(ba,'')
lapply(ba2,function(x) x[2]) <- 'x'
# Error in lapply(ba2, function(x) x[2]) <- "x" : 
# could not find function "lapply<-"

我该如何解决这个问题呢?有没有一种结合使用<-lapply的方法

EN

回答 1

Stack Overflow用户

发布于 2017-10-03 20:59:05

使用regexp替换:

代码语言:javascript
复制
sub("^(.).", "\\1x", ba)

解释:

  • ^ - beginning of word
  • (.) -获取任意字符,并将其记忆为
  • 。另一个任意字符
  • \1-替换为记忆字符
  • ...和'x'
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46545084

复制
相关文章

相似问题

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