在R中生成填充0或1的大矩阵

时间:2015-01-10 00:09:43

标签: r matrix

在R语言中,我试图生成一个填充01的大矩阵。

我已经生成了一个大矩阵,但它的值 0和1之间。

我是这样做的:

NCols=500 
NRows=700 
mr<-matrix(runif(NCols*NRows), ncol=NCols) 

3 个答案:

答案 0 :(得分:1)

我想你问的是如何生成一个只有0和1

的矩阵

我将如何做到这一点

onezero <- function(nrow,ncol)
  matrix(sample(c(0,1), replace=T, size=nrow*ncol), nrow=nrow)

使用nrowncol矩阵的行和列

R> onezero(5,5)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    1    0    1    0
[2,]    1    1    1    1    0
[3,]    1    1    0    0    0
[4,]    1    0    0    1    0
[5,]    0    0    0    0    0

答案 1 :(得分:1)

您也可以使用rbinom。并且可以改变每次试验成功的概率。在这种情况下,它是.5。

nrow<-700
ncol<-500
mat01 <- matrix(rbinom(nrow*ncol,1,.5),nrow,ncol)

答案 2 :(得分:0)

> number.of.columns = 5
> number.of.rows = 10
> matrix.size = number.of.columns*number.of.rows
> ones.and.zeros.samples = sample(0:1, matrix.size, replace=TRUE)
> A = matrix(ones.and.zeros.samples, number.of.rows) 
> A
      [,1] [,2] [,3] [,4] [,5]                                             
 [1,]    0    0    0    1    1                                             
 [2,]    1    0    0    0    1                                             
 [3,]    0    1    1    0    0                                             
 [4,]    0    0    1    1    1                                             
 [5,]    1    0    1    1    0                                             
 [6,]    0    1    0    1    1                                             
 [7,]    0    0    1    1    0                                             
 [8,]    0    1    0    0    0                                             
 [9,]    0    0    0    0    0                                             
[10,]    0    0    0    1    1