R根据条件填充矩阵

R根据条件填充矩阵,r,matrix,conditional-statements,fill,R,Matrix,Conditional Statements,Fill,有一个矩阵5x5,其中给出了行和列和 mat1<-matrix(0,ncol = 5, nrow = 5) colnames(mat1) <- c("A","B","C","D","E") rownames(mat1) <- c(1:5) mat1<-rbind(mat1, Sum = 2) mat1<-cbind(mat1, Sum = c(1,3,2,3,1,"")) View(mat1) mat1您的问题有多种解决方案。查看使用的代码(每次运行它时,您都有不

有一个矩阵5x5,其中给出了行和列和

mat1<-matrix(0,ncol = 5, nrow = 5)
colnames(mat1) <- c("A","B","C","D","E")
rownames(mat1) <- c(1:5)
mat1<-rbind(mat1, Sum = 2)
mat1<-cbind(mat1, Sum = c(1,3,2,3,1,""))
View(mat1)

mat1您的问题有多种解决方案。查看使用的代码(每次运行它时,您都有不同的解决方案,这里我给出3个不同的示例):




谢谢你的回答!我要说的是,每一行的单元格都必须在定义的时间间隔内填充,即在mat2中填充1。每一行都必须按从上到下、从左到右的顺序填写。我不确定我是否正确理解了你的问题。但是,由于您似乎有许多条件,最简单的解决方案可能是使用for循环。
mat2[1,]<-c(1,1,0,0,0)
mat2[2,]<-c(1,1,1,1,0)
mat2[3,]<-c(0,1,1,0,0)
mat2[4,]<-c(0,1,1,1,1)
mat2[5,]<-c(0,0,0,1,1)
mat2<-rbind(mat2, Sum = 2)
mat2<-cbind(mat2, Sum = c(1,3,2,3,1,"")) 
View(mat2)
mat1 <- r2dtable(n=1, r=c(1,3,2,3,1), c=rep(2,5))[[1]]

colnames(mat1) <- c("A","B","C","D","E")
rownames(mat1) <- c(1:5)
mat1 <- rbind(mat1, Sum = 2)
mat1 <- cbind(mat1, Sum = c(1,3,2,3,1,""))

mat1
     A   B   C   D   E   Sum
1   "0" "1" "0" "0" "0" "1"
2   "1" "0" "0" "1" "1" "3"
3   "0" "0" "1" "1" "0" "2"
4   "0" "1" "1" "0" "1" "3"
5   "1" "0" "0" "0" "0" "1"
Sum "2" "2" "2" "2" "2" ""
     A   B   C   D   E   Sum
1   "0" "0" "0" "0" "1" "1"
2   "2" "0" "1" "0" "0" "3"
3   "0" "0" "1" "1" "0" "2"
4   "0" "1" "0" "1" "1" "3"
5   "0" "1" "0" "0" "0" "1"
Sum "2" "2" "2" "2" "2" ""
     A   B   C   D   E   Sum
1   "0" "0" "0" "1" "0" "1"
2   "0" "1" "1" "0" "1" "3"
3   "0" "1" "0" "0" "1" "2"
4   "1" "0" "1" "1" "0" "3"
5   "1" "0" "0" "0" "0" "1"
Sum "2" "2" "2" "2" "2" ""