从 R 中的向量创建 data.frame 个多个随机样本?
Creating data.frame of multiple random samples from a vector in R?
我有向量 X
,我想生成一个 data.frame
的 6 个整数样本,大小为 4。换句话说,我想有一个 data.frame
6 * 4 维。我尝试了以下但它抛出了长度参数错误。
set.seed(123)
X <- c(4,10,15,100,50,31,311,225,85,91)
S <- replicate(X, sample.int(n = 6, size = 4))
我们可能需要
replicate(4, sample(X, size = 6))
或者
replicate(6, sample(X, size = 4))
另一种基础 R 解决方案。
set.seed(123)
X <- c(4,10,15,100,50,31,311,225,85,91)
dat <- as.data.frame(lapply(1:4, function(i) sample(X, size = 6))) %>%
setNames(paste0("V", 1:4))
dat
# V1 V2 V3 V4
# 1 15 50 50 85
# 2 91 100 15 15
# 3 10 31 85 225
# 4 225 225 4 10
# 5 31 4 100 311
# 6 85 10 311 4
我有向量 X
,我想生成一个 data.frame
的 6 个整数样本,大小为 4。换句话说,我想有一个 data.frame
6 * 4 维。我尝试了以下但它抛出了长度参数错误。
set.seed(123)
X <- c(4,10,15,100,50,31,311,225,85,91)
S <- replicate(X, sample.int(n = 6, size = 4))
我们可能需要
replicate(4, sample(X, size = 6))
或者
replicate(6, sample(X, size = 4))
另一种基础 R 解决方案。
set.seed(123)
X <- c(4,10,15,100,50,31,311,225,85,91)
dat <- as.data.frame(lapply(1:4, function(i) sample(X, size = 6))) %>%
setNames(paste0("V", 1:4))
dat
# V1 V2 V3 V4
# 1 15 50 50 85
# 2 91 100 15 15
# 3 10 31 85 225
# 4 225 225 4 10
# 5 31 4 100 311
# 6 85 10 311 4