2017-02-18 139 views
0

R中的問題R試圖用()填充矩陣

我無法使用for()循環填充值的矩陣。 我開始用做一個空白矩陣1-100

z <- matrix(NA, ncol=100, nrow=100) 
q <- 1:100 

我需要填寫每個NROWS用1-100 使原來的矩陣變成每一行

在序列1-100我試過

for(n in 1:nrows(z)){ 
    print(q) 
} 

但它沒有按預期工作。

+0

對此深感抱歉,我以爲網站率R具體起初 – Namcaz

+0

感謝格式化幫助以及^^ – Namcaz

回答

1

print只是打印到屏幕上,不以任何方式更改您的矩陣。如果沒有任何循環,最好做到這一點。

z <- matrix(rep(1:100, each=100), ncol=100, nrow=100) 

如果必須使用一個循環,

for(n in 1:nrow(z)){ 
    z[n,] = q 
} 

需要注意的是nrownrows

+0

我必須使用for循環作爲練習的一部分,是否有某個函數可以讓我將序列插入到現有的矩陣中? – Namcaz

+0

@Namcaz - 更新爲包含循環 – G5W

+0

您實際上並不需要'rep';如果你指定'nrow'和'ncol',如果矢量不夠長,它將被回收,所以你可以'矩陣(seq(100),100,100,byrow = TRUE)'。不太清楚,但更短:'col(diag(100))' – alistaire