我有一个矩阵:
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"
答案 0 :(得分:2)
我们可以将apply
与MARGIN=2
和paste
元素一起用来创建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"