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

上一篇: How can 2 strings be concatenated?

下一篇: Concatenate a vector of strings/character