gpt4 book ai didi

r - 用循环填充矩阵

转载 作者:行者123 更新时间:2023-12-04 22:22:16 24 4
gpt4 key购买 nike

我正在尝试创建一个矩阵 n来自 kk 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)
}

缺少了什么?

最佳答案

我在这里看到几件事:

  • 您可能想要设置可复制性的随机种子 ( set.seed(20430) )。这意味着每次运行代码时,您将获得完全相同的伪随机变量集。
  • 接下来,您的数据将只是独立变量;它们实际上不会有任何多元结构(尽管这可能是您想要的)。一般来说,如果要生成多元数据,应该使用?mvrnorm ,来自 MASS包裹。 (有关更多信息,请参阅 here。)
  • 作为次要的一点,如果你想要标准的正常数据,你不需要指定 mu = 0sigma = 1 ,因为这些是 rnorm() 的默认值.
  • 您不需要循环来填充 R 中的矩阵,只需生成任意数量的值并使用 data= 直接添加它们。 matrix() 中的参数功能。如果您确实致力于使用循环,那么您可能应该使用双循环,以便您在列上循环,并且在每个循环内,在行上循环。 (请注意,这是在 R 中编码的一种非常低效的方式——尽管我一直都在做这样的事情 ;-)。
  • 最后,我不知道是什么 p应该在你的代码中做。

  • 这是做您似乎想要做的事情的基本方法:
    set.seed(20430)
    n = 1000
    k = 5
    dat = rnorm(n*k)
    x = matrix(data=dat, nrow=n, ncol=k)

    如果你真的想使用循环,你可以这样做:
    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)
    }
    }

    关于r - 用循环填充矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14685911/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com