带prob的样本函数在多变量矩阵中的应用

带prob的样本函数在多变量矩阵中的应用,r,statistics-bootstrap,R,Statistics Bootstrap,目前,我正在尝试引导一个包含114个obs和16个变量的数据集 我使用的示例函数如下所示: x[sample(nrow(x),size=114,replace=TRUE),] where x is my dataset. 但是,我希望使用指定给特定列的概率进行采样,因为sample函数包含这种可能性。例如,我想对第5列进行采样,数字的概率介于1-50.1和5-200 0.9之间 我该怎么做呢?如果我了解你在找什么,这可能是mapply的工作 # fake data x <- as.da

目前,我正在尝试引导一个包含114个obs和16个变量的数据集

我使用的示例函数如下所示:

x[sample(nrow(x),size=114,replace=TRUE),] where x is my dataset. 
但是,我希望使用指定给特定列的概率进行采样,因为sample函数包含这种可能性。例如,我想对第5列进行采样,数字的概率介于1-50.1和5-200 0.9之间


我该怎么做呢?

如果我了解你在找什么,这可能是
mapply
的工作

# fake data
x <- as.data.frame(matrix(1:10,nrow=2))
x
  V1 V2
1  1  6
2  2  7
3  3  8
4  4  9
5  5 10

# fake probabilities of each row, for each column
probs <- as.data.frame(matrix(c(.1,.1,.1,.2,.5,.5,.2,.1,.1,.1),ncol=2))
probs
   V1  V2
1 0.1 0.5
2 0.1 0.2
3 0.1 0.1
4 0.2 0.1
5 0.5 0.1

# then a little mapply magic - change size as needed
mapply(sample, x=x, prob=probs, replace=T, size=10)
      V1 V2
 [1,]  5  7
 [2,]  5  7
 [3,]  2  6
 [4,]  5  6
 [5,]  1  6
 [6,]  5  9
 [7,]  1  9
 [8,]  5  9
 [9,]  5  6
[10,]  4  7
#伪造数据

x在寻求帮助时,您应该包括一个示例输入和所需输出。你到底是如何“存储”这些需求的?@MrFlick谢谢你的帮助,我现在按天对这些列进行排序,因为这是英国之战的数据。因此,我有专栏,目前是个人的日子和飞机下降,以及他们攻击的位置。因此,我试图对数据进行重新采样,以创建反事实的历史。例如,如果德国只攻击伦敦,它将如何影响英国的损失。感谢你的回答,Matt,是否可以对一列数据执行此操作并将行(实例)保持在一起。我不相信将行(实例)保持在一起是可能的,同时具有与每列相关联的不同行概率。如果您只需要不同的行概率,那么解决方案实际上比上面介绍的更简单。使用你最初的概率,你可以做
p谢谢Matt,这是合乎逻辑的。但是,我的问题是,是否可以将您所述的概率c(rep(0.1,5),rep(0.9195))与特定列对齐,并将行保持在一起。例如,您能否将此概率分配给样本函数的第4列?谢谢你的帮助