簡體   English   中英

在R中使用循環創建矩陣

[英]Create a matrix with loop in R

我試圖在R中創建一個循環,將矩陣中的2行中的0替換為1,但是我只能創建一個編號為1的矩陣。我不知道如何快速正確地實現它!

R代碼

i<-1
r<-1
l<-1
repeat{
    while(i<3){
        if(l<7) {
            r<-rbind(r,1) 
            l<-l+1
        }else{
            r<-cbind(r,1)
            i<-i+1
            l<-1
        }
    }
}

開始示例矩陣

0   0   0
0   0   0
0   0   0
0   0   0
0   0   0
0   0   0

最終矩陣:

1   0   0
1   0   0
0   1   0
0   1   0
0   0   1
0   0   1

是否需要使用for循環? R使用向量化語句的效果最佳,例如:

diag(3)[rep(1:3, each = 2), ]

#      [,1] [,2] [,3]
# [1,]    1    0    0
# [2,]    1    0    0
# [3,]    0    1    0
# [4,]    0    1    0
# [5,]    0    0    1
# [6,]    0    0    1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM