How to fill matrix with random numbers in R?

后端 未结 6 1482
自闭症患者
自闭症患者 2021-02-03 20:18
expand.grid(i=rexp(5,rate=0.1))

It creates just one col but is there some way to multiply this easily to 5 cols? I mean the matlab-way-of-doing-things

6条回答
  •  礼貌的吻别
    2021-02-03 20:52

    Use the matrix function:

    matrix(rexp(200, rate=.1), ncol=20)
    

    ETA: If you want to do it without repeating the 200, you can define a function to do so:

    fill.matrix = function(expr, nrow=1, ncol=1) {
        matrix(eval(expr, envir=list(x=nrow*ncol)), nrow=nrow, ncol=ncol)
    }
    
    fill.matrix(rexp(x, rate=.1), nrow=10, ncol=20)
    

    The x thus becomes the dummy variable you're talking about. Is that what you're looking for?

提交回复
热议问题