代码之家  ›  专栏  ›  技术社区  ›  Adrian

如何生成随机向量并在R中存储为多个对象?

  •  2
  • Adrian  · 技术社区  · 3 年前

    a <- rnorm(10)
    b <- rnorm(10)
    c <- rnorm(10)
    

    有没有更简洁的方法?例如,执行以下操作会将相同的数字指定给 a, b, c ,这是我不想要的。

    a <- b <- c <- rnorm(10)
    

    另一种方法是使用for循环,但是有更简洁的方法吗?

    1 回复  |  直到 3 年前
        1
  •  1
  •   akrun    3 年前

    我们可以使用 zeallot 多重赋值运算符( %<-% 为此

    library(zeallot)
    c(a, b, c) %<-% replicate(3, rnorm(10), simplify = FALSE)
    

    -检查

    > head(a)
    [1]  0.3268303 -0.3641770 -0.5644841 -1.9312762  0.1363512  1.5742827
    > head(b)
    [1] -0.2849812 -1.5234004  0.4008743 -0.4625301  0.9541247  0.6801852
    > head(c)
    [1] -0.8387253  2.1883784 -0.1846793 -0.8896609 -0.3637861 -1.1172537
    

    创建一个 list 并命名它,而不是在全局环境中创建多个对象,即。

    lst1 <- setNames(replicate(3, rnorm(10), simplify = FALSE), letters[1:3])