我想用x替换以下 vector 中每个字符串的第二个字母。
ba <- c('ba','aba','baba')
# goal: bx, axa, bxba
通常我只会使用
substr(ba,2,2) <- 'x'
。但是由于过于复杂的原因而无法在此处介绍,我试图避免使用substr
,而是寻求其他解决方案。因此,我尝试将字符串拆分并替换每个列表的第二个元素。但我收到此错误消息。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
与<-
结合使用? 最佳答案
使用正则表达式替换:
sub("^(.).", "\\1x", ba)
说明:
关于r - r:应用值分配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46545084/