8

所以我有一个向量

lizt <- c("a","b","c")

> lizt
[1] "a" "b" "c"

我可以使用 sapply在每个元素之后粘贴字符

lizt2 <- sapply(lizt,paste0, "$", USE.NAMES=F)

lizt2
[1] "a$" "b$" "c$"

现在,我如何使用类似的功能在每个元素之前粘贴字符,所以我得到

lizt3
[1] "^a$" "^b$" "^c$"
4

2 回答 2

15

paste并且paste0是矢量化的,所以你不需要sapply

paste0('^', lizt, '$')
## [1] "^a$" "^b$" "^c$"
于 2012-09-11T02:47:48.757 回答
4

正如mnel 所示,你不需要在sapply这里使用,但如果你想使用,你可以创建自己的自定义函数来使用,sapply如下所示:

> sapply(lizt, function(x) paste0("^", x, "$"), USE.NAMES=FALSE)
[1] "^a$" "^b$" "^c$"
于 2012-09-11T02:51:40.410 回答