【问题标题】:Adding a character element to a numerical matrix将字符元素添加到数值矩阵
【发布时间】:2019-06-05 16:33:23
【问题描述】:

我在R 中有一个 2 x 30 矩阵,由 1 和 2 组成。我想知道如何在矩阵的每个元素之前添加一个额外的"p:"

例如p1: 1, p2: 2, p3: 1, p4: 2等。

这是我尝试但没有成功的方法:

a <- matrix(rep(1:2, 30), 2, 30)
a <- paste0("p", 1:30, ":")

【问题讨论】:

  • 您需要使用data.frame,因为矩阵只支持数字。
  • 试试a[] &lt;- paste(paste0("p", 1:30), a, sep=": ")
  • paste简单吗? sprintf("p%d: %d", 1:30, a).
  • 我猜@akrun 是对的。

标签: r function matrix character


【解决方案1】:

另一种使用 apply 的方法:

apply(a, 2, function(x) paste('p', parent.frame()$i[], ': ', x, sep=''))

【讨论】:

    【解决方案2】:

    我们paste 'p' 使用序列,然后paste 使用matrix 'a' 并将输出分配回'a'

    a[] <- paste(paste0("p", 1:30), a, sep=": ")
    

    【讨论】:

    • 我猜你可以用matrix(paste(paste0("p", 1:30), a, sep=": "), nrow = nrow(a))分配给任何变量
    猜你喜欢
    • 2020-01-04
    • 2014-10-14
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多