expand.grid(i=rexp(5,rate=0.1))
Run Code Online (Sandbox Code Playgroud)
它只创建了一个col,但是有一些方法可以轻松地将它乘以5 cols吗?我的意思是matlab这样做的事情rand('exp', 0.1, 10,20)(创建一个指数分布随机数的矩阵,平均值为0.1×10×20),怎么样?
Dav*_*son 35
使用矩阵函数:
matrix(rexp(200, rate=.1), ncol=20)
Run Code Online (Sandbox Code Playgroud)
ETA:如果你想这样做而不重复200,你可以定义一个函数:
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)
Run Code Online (Sandbox Code Playgroud)
将x因此变成你所谈论的虚拟变量.这就是你要找的东西吗?
?matrix会告诉你很多!并且rexp是生成随机指数分布的函数.
mat <- matrix(data = rexp(200, rate = 10), nrow = 10, ncol = 20)
Run Code Online (Sandbox Code Playgroud)
小智 6
用这个:
matris=matrix(rnorm(10),5,20)
Run Code Online (Sandbox Code Playgroud)