Man*_*ino 2 loops r matrix paste
我想创建27个矩阵,其中包含2列和可变数量的行.我可以写出27行代码,如下所示:
x1 = cbind(rep(1,34), rnorm(34))
x2 = cbind(rep(1,36), rnorm(36))
Run Code Online (Sandbox Code Playgroud)
....
x27 = cbind(rep(1,k), rnorm(k))
Run Code Online (Sandbox Code Playgroud)
但它必须有更好的方法来做到这一点.我想到了一个循环,像这样:
aux = c(34, 36, ..., k) # auxiliar variable with number of rows for each matrix
for (i in 1:27) paste("x",i, sep="") = cbind(rep(1,aux[i]), rnorm(aux[i]))
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用.我觉得这是一项简单的任务,但我没有想法.
有帮助吗?
ps.:我想到了一个数组,但我无法使用它.也许一份清单可以完成这项工作,我不知道.
你需要assign:
for (i in 1:27) {
assign(paste("x",i,sep=""), cbind(rep(1,aux[i]), rnorm(aux[i])))
}
Run Code Online (Sandbox Code Playgroud)
这将在您的全局环境中创建27个矩阵对象.