2015-02-09 52 views
1
> 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'函數沒有,但'矩陣'函數沒有。 爲什麼'as.matrix'函數不能像它應該的那樣工作?爲什麼我無法將矢量轉換爲具有「as.matrix」功能的矩陣?

回答

5

這就是as.matrix的工作方式。它盡最大努力將輸入數據轉換爲矩陣,使事情儘可能接近可能。在這種情況下,將矢量轉換爲單列矩陣是最有意義的。如果您查看實現(在as.matrix.default中找到),您會看到它忽略除第一個(此處爲輸入向量)之外的所有輸入,並且始終只生成一個列矩陣。

如果要指定行數和列數,使用matrix時出了什麼問題?