2个字符串如何连接?
我如何合并/合并R中的两个值? 例如,我有:
tmp = cbind("GAD", "AB")
tmp
# [,1] [,2]
# [1,] "GAD" "AB"
我的目标是将tmp作为一个字符串
tmp_new = "GAD,AB"
哪个功能可以为我做这个?
paste()
是要走的路。 正如之前的海报所指出的,粘贴可以做两件事:
将值连接成一个“字符串”,例如
> paste("Hello", "world", sep=" ")
[1] "Hello world"
其中参数sep
指定要连接的参数之间要使用的字符,或折叠字符向量
> x <- c("Hello", "World")
> x
[1] "Hello" "World"
> paste(x, collapse="--")
[1] "Hello--World"
参数collapse
指定要在要折叠的向量元素之间使用的字符。
你甚至可以结合两者:
> paste(x, "and some more", sep="|-|", collapse="--")
[1] "Hello|-|and some more--World|-|and some more"
希望这可以帮助。
help.search()
是一个方便的函数,例如
> help.search("concatenate")
会导致你paste()
。
对于第一个非paste()
答案,我们可以看看stringr::str_c()
(然后在下面的toString()
)。 它一直没有出现过这个问题,所以我认为提及它也存在很有用。
正如你所看到的,使用非常简单。
tmp <- cbind("GAD", "AB")
library(stringr)
str_c(tmp, collapse = ",")
# [1] "GAD,AB"
从它的文档文件描述中可以很好地解决这个问题。
为了理解str_c是如何工作的,你需要想象你正在建立一个字符串矩阵。 每个输入参数形成一个列,并使用通常的回收规则扩展为最长参数的长度。 sep字符串插入每列之间。 如果collapse为NULL,则每行都折叠为单个字符串。 如果在每行的末尾插入非空字符串,并且整个矩阵折叠为单个字符串。
2016年4月13日添加 :它与你想要的输出(额外的空间)不完全相同,但没有人提到它。 toString()
基本上是paste()
一个版本,用collapse = ", "
硬编码,所以你可以这样做
toString(tmp)
# [1] "GAD, AB"
链接地址: http://www.djcxy.com/p/24859.html