首页 > 解决方案 > 模拟 for 循环并将值保存在向量中

问题描述

这个输出给了我 70 个值s。我希望将值保存在向量中,但此代码不起作用。(它只给了我 j 循环最后一次运行的 7 个值)。我需要帮助谢谢。

a<-c(-2,3,44,2,455,6,5) 
v<-numeric()
for(i in 1:7){
    for(j in 1:10){
        s<-rnorm(1,0,1)+a[i]
        print(s) 
    }
}

a<-c(-2,3,44,2,455,6,5) 
v<-numeric()
for(i in 1:7){
    for(j in 1:10){
        s<-rnorm(1,0,1)+a[i]
        v[j]<-s 
    }
}

标签: r

解决方案


以下代码将生成一个 7x10 矩阵,其中包含问题要求的向量。

a <- c(-2, 3, 44, 2, 455, 6, 5)

set.seed(1234)
v <- numeric(7)
mat <- matrix(nrow = 7, ncol = 10)
for(i in 1:7){
  for(j in 1:10){
    s <- rnorm(1, 0, 1) + a[i]
    v[j] <- s 
  }
  mat[i, ] <- v
}

推荐阅读