【问题标题】:R - Collapse By RowR - 按行折叠
【发布时间】:2015-09-25 15:35:56
【问题描述】:

我需要按行折叠我的数据。

seq = structure(c("h", "d", "s", "s", "f", "k", "s", "s", "f", "d", 
"d", "d", "l", "l", "d", "d"), .Dim = c(4L, 4L), .Dimnames = list(
NULL, c("act1.055", "act1.056", "act1.057", "act1.058")))

我的数据如下所示:

     act1.055 act1.056 act1.057 act1.058
[1,] "h"      "f"      "f"      "l"     
[2,] "d"      "k"      "d"      "l"     
[3,] "s"      "s"      "d"      "d"     
[4,] "s"      "s"      "d"      "d" 

如果我这样做了

paste(seq, collapse = "")
[1] "hdssfkssfdddlldd"

这不是我想要的。

我需要的是

hffl
dkdl 
ssdd 
ssdd

如果可能,在矩阵中。

【问题讨论】:

  • 也许我们需要一个rowPaste 函数?
  • @BondedDust - 绝对!

标签: r paste collapse


【解决方案1】:
matrix(apply(seq, 1, paste, collapse=''), ncol=1)
#     [,1]  
#[1,] "hffl"
#[2,] "dkdl"
#[3,] "ssdd"
#[4,] "ssdd"

【讨论】:

  • 乐于助人!快速说明:避免在函数之后命名变量。可能会出现混乱。
【解决方案2】:

另一种选择:

matrix(do.call(paste0, data.frame(seq)))

输出:

     [,1]  
[1,] "hffl"
[2,] "dkdl"
[3,] "ssdd"
[4,] "ssdd"

【讨论】:

    猜你喜欢
    • 2021-11-21
    • 2023-03-07
    • 1970-01-01
    • 2015-08-08
    • 2016-08-20
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多