在R中创建随机向量列表

时间:2014-02-04 00:12:38

标签: r random vector

我正在尝试创建一个列表1000个条目,其中列表的每个条目都是一个随机向量。在这种情况下,向量应该是从整数1到100中选择的10个整数。我想避免在循环中执行此操作。

如果我运行以下命令,则不会再次采样,而只是在列表的所有1000个条目中复制样本:

list.of.samples <- rep(list(sample(1:100,size=10)),1000)

我是否有一种简单的方法可以将这1000个样本的生成进行矢量化并将它们存储在列表中?

3 个答案:

答案 0 :(得分:10)

在这种情况下,我经常使用replicate函数:

list.of.samples <- replicate(1000, sample(1:100,size=10), simplify=FALSE)

它反复评估其第二个参数。设置simplify=FALSE意味着您返回列表,而不是数组。

答案 1 :(得分:3)

rep将重复给出的任何内容。 lapply应该做你想做的事。

list.of.samples = lapply(1:1000, function(x) sample(1:100,size=10))

答案 2 :(得分:0)

要创建带有字母的矢量:

library(wakefield)
c = lower(10, k=3)   # generates 10 random letters from the first 3
c
#> "b" "a" "a" "a" "a" "b" "c" "b" "a" "b"