我有一个矩阵,我想将第五列类型从字符更改为数字,但我不能。我试过这个:
test1[,5] <- as.numeric(test1[,5])
但是列类的字符不是数字。我该怎么办? 谢谢
答案 0 :(得分:7)
像@Marius所说,矩阵只能容纳一种数据类型。您可以将矩阵转换为data.frame,因为data.frames可以为每个列保存不同的数据类型。转换和退回的功能是as.data.frame
和as.matrix
。然后,您就可以将发布的列转换代码应用于data.frame。
但是,您在评论中提到,您的最终目标是根据强制列的值重新排序矩阵。在重新排序矩阵之前,您不需要就地强制列,您可以使用以下方式执行所有操作:
test1[order(as.numeric(test1[, 5])), ]