为什么我不能将矢量转换为具有'as.matrix'功能的矩阵?

时间:2015-02-09 16:20:31

标签: r

> tem = 1:9801
> dim(as.matrix(tem,nrow=99,ncol=99))
[1] 9801    1
> dim(matrix(tem,nrow=99,ncol=99))
[1] 99 99

我相信' as.matrix'函数可以将矢量转换为具有预定数量的行和列的矩阵。 但正如您在上面的R结果中所看到的那样,' as.matrix'功能没有,但'矩阵'功能呢。 为什么不作为矩阵'功能是否应该如此?

1 个答案:

答案 0 :(得分:5)

这就是as.matrix的工作方式。它尽力将输入数据转换为矩阵,使事物尽可能接近。在这种情况下,将矢量转换为单个列矩阵是最有意义的。如果你看一下实现(在as.matrix.default中找到),你会发现它忽略了除第一个之外的所有输入(在这种情况下是输入向量),并且总是只生成一个列矩阵。

如果要使用matrix指定行数和列数有什么问题?