2015-07-20 120 views
3

有誰知道如何在R中生成具有一定秩的矩陣?如何在R中生成具有一定秩的矩陣

我最終要創建數據矩陣Y = X + E

其中秩(X)= k和E〜i.i.d.N(0,西格瑪^ 2)。

+0

你想要什麼類型的矩陣? SVD與生成矩陣無關,您在現有矩陣上執行的操作。 –

回答

1

最簡單的是身份矩陣,它總是滿秩。所以例如使用方法:

k <- 10 
mymatrix <- diag(k) 

這裏,行和列等於秩指定

我想你想模仿迴歸模型,所以你可能希望有更多的行(意爲「意見」),比列(例如'變量')。以下代碼允許您同時指定:

k <- 5 # rank of your matrix 
nobs <- 10 # number of lines within X 
X <- rbind(diag(k), matrix(rep(0,k*(nobs-k)), ncol=k)) 
y <- X + rnorm(nobs) 

請注意,X - 因此也是y - 現在具有完整列級別。這個「模型」中沒有多重共線性。

+0

非常感謝:) –