如何在R中更改矩阵列类型

时间:2012-12-13 11:04:28

标签: r matrix

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

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

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

1 个答案:

答案 0 :(得分:7)

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

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

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