我想创建一个矩阵n
通过k
与k
使用循环MVN协变量.相当简单,但到目前为止还没有...这是我的代码:
n=1000
k=5
p=100
mu=0
sigma=1
x=matrix(data=NA, nrow=n, ncol=k)
for (i in 1:k){
x [[i]]= mvrnorm(n,mu,sigma)
}
Run Code Online (Sandbox Code Playgroud)
少了什么东西?
gun*_*ica 11
我在这看到几件事:
set.seed(20430)
)设置随机种子.这意味着每次运行代码时,您将获得完全相同的伪随机变量集. mu = 0
和sigma = 1
,因为这些是默认值rnorm()
. data=
函数中的参数直接添加它们matrix()
.如果您真的致力于使用循环,那么您应该使用双循环,以便循环遍历列,并在每个循环内循环遍历行.(请注意,这是一种非常低效的R代码编写方式 - 尽管我一直在做这样的事情;-). p
你的代码应该做什么. 这是一个做你想做的事情的基本方法:
set.seed(20430)
n = 1000
k = 5
dat = rnorm(n*k)
x = matrix(data=dat, nrow=n, ncol=k)
Run Code Online (Sandbox Code Playgroud)
如果你真的想使用循环,你可以这样做:
mu = 0
sigma = 1
x = matrix(data=NA, nrow=n, ncol=k)
for(j in 1:k){
for(i in 1:n){
x[i,j] = rnorm(1, mu, sigma)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
62417 次 |
最近记录: |