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

hor*_*ora 6 r matrix

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

test1[,5] <- as.numeric(test1[,5])
Run Code Online (Sandbox Code Playgroud)

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

flo*_*del 7

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

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

test1[order(as.numeric(test1[, 5])), ]
Run Code Online (Sandbox Code Playgroud)