6

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

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

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

4

1 回答 1

8

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

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

test1[order(as.numeric(test1[, 5])), ]
于 2012-12-13T11:41:32.920 回答