【问题标题】:Sampling with replacement a matrix element from a list in R从R中的列表中对矩阵元素进行替换采样
【发布时间】:2021-11-02 04:17:09
【问题描述】:

这里我正在生成一个矩阵对象列表。

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)

但是这个示例函数返回前 11 个元素,而不是从 'v' 中的 100 个元素中随机选择。

首先,如何从“v”中随机选择矩阵对象并将这些随机样本存储在新对象中?

【问题讨论】:

    标签: r matrix replace sample


    【解决方案1】:

    如果我们想从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)]
    

    【讨论】:

      【解决方案2】:

      如果我理解正确,您可以对索引进行采样

      v[sample(1:p,size = c,replace = TRUE)]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多