合并两行一个矩阵

时间:2016-03-30 12:01:05

标签: r

我有一个矩阵:

d = matrix(c("a", "a", "b", "b", "c", "c"), nrow = 2, byrow = TRUE)
#     [,1] [,2] [,3]
#[1,] "a"  "a"  "b" 
#[2,] "b"  "c"  "c" 

我希望得到两行的组合:

d_res = paste(c("a_b", "a_c", "b_c"), collapse = ",")
# [1] "a_b,a_c,b_c"

1 个答案:

答案 0 :(得分:2)

我们可以将applyMARGIN=2paste元素一起用来创建vector然后paste再创建一个字符串。< / p>

paste(apply(d, 2, FUN= paste, collapse="_"), collapse=',')
#[1] "a_b,a_c,b_c"

或者我们可以进行转置,只使用一个paste来折叠列

 d1 <- t(d)
 paste(d1[,1], d1[,2], sep="_", collapse=",")
 #[1] "a_b,a_c,b_c"