【问题标题】:How to change matrix column type in R如何在 R 中更改矩阵列类型
【发布时间】:2012-12-13 11:04:28
【问题描述】:

我有一个矩阵,我想将第五列类型从字符更改为数字,但我不能。我试过这个:

test1[,5] <- as.numeric(test1[,5])

但列类又是字符而不是数字。我该怎么办? 谢谢

【问题讨论】:

  • 矩阵中只能有一种数据类型。
  • @Marius 实际上,我需要根据此列对矩阵进行排序,但我需要根据非特征的数字视图进行排序。有办法吗?
  • 试试test1[order(as.numeric(test1[, 5])), ]
  • @flodel 是的,谢谢它有效。我花了很多时间来更改列类型。

标签: r matrix


【解决方案1】:

就像@Marius 所说,一个矩阵只能保存一种数据类型。您可以将矩阵转换为 data.frame,因为 data.frames 可以为每个列保存不同的数据类型。来回转换的函数是as.data.frameas.matrix。然后,您就可以将发布的列转换代码应用到 data.frame。

但是,您在评论中提到您的最终目标是根据强制列的值重新排序矩阵。您不需要在重新排序矩阵之前就地强制列,您可以通过以下方式即时完成所有操作:

test1[order(as.numeric(test1[, 5])), ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多