从 R 中的列表中替换矩阵元素进行采样
Sampling with replacement a matrix element from a list in R
我在这里生成一个矩阵对象列表。
c<-11
l<-10
v<-list()
p<-100
for(i in 1:p) {
m<-matrix(sample(c(-1,1),l*c,replace=TRUE),l,c)
v[[i]]<-m
}
在这一点上,我试图通过替换列表向量 'v' 中的矩阵元素随机抽样。
sample(v,size=11,replace=TRUE)
但是这个示例函数 returns 前 11 个元素,而不是从 'v' 中的 100 个元素中随机 selecting。
首先,我如何从 'v' 中随机 select 矩阵对象并将这些随机样本存储在新对象中?
如果我们想从 list
'v' 的每个元素中采样,请使用 sapply
循环遍历 list
out <- sapply(v, function(x) sample(x, size = 11, replace = TRUE))
或者如果您想从 list
的序列中采样 11 个 list
元素,sample
,并使用该索引提取 list
元素
out <- v[sample(seq_along(v), 11, replace = TRUE)]
如果我没理解错的话,你可以抽取索引
v[sample(1:p,size = c,replace = TRUE)]
我在这里生成一个矩阵对象列表。
c<-11
l<-10
v<-list()
p<-100
for(i in 1:p) {
m<-matrix(sample(c(-1,1),l*c,replace=TRUE),l,c)
v[[i]]<-m
}
在这一点上,我试图通过替换列表向量 'v' 中的矩阵元素随机抽样。
sample(v,size=11,replace=TRUE)
但是这个示例函数 returns 前 11 个元素,而不是从 'v' 中的 100 个元素中随机 selecting。
首先,我如何从 'v' 中随机 select 矩阵对象并将这些随机样本存储在新对象中?
如果我们想从 list
'v' 的每个元素中采样,请使用 sapply
循环遍历 list
out <- sapply(v, function(x) sample(x, size = 11, replace = TRUE))
或者如果您想从 list
的序列中采样 11 个 list
元素,sample
,并使用该索引提取 list
元素
out <- v[sample(seq_along(v), 11, replace = TRUE)]
如果我没理解错的话,你可以抽取索引
v[sample(1:p,size = c,replace = TRUE)]