1
采样中提取字符的概率我有定义了以下变量:该随机R中
a <- as.character(1:10)
b <- 100
c <- 10
probs <- c(0.3, 0.3, 0.3, rep(0.1/7, 7))
min <- 5
max <- 10
我试图找出如何子集在下面的代码的“probs”参数与所述字符对应被随机抽样(即随机抽样字符5:10)
sample(a[min:max], size = round(b/c), replace = TRUE, prob = probs[???])
我不认为probs [分钟:MAX]将工作,因为它应该,但我不确定如何找出肯定,如果它确实如此。更复杂的情况是,如果我想是这样
a[c(1, 3, 5)]
然后,我会需要“probs”对应的字符1,3,和5
我一直在使用probs [得到(paste0(试过。 ..))],但这不是最直接和最有效的方式。反正它不起作用。
任何意见表示赞赏。
难道你不能重新调整probs [min:max]/sum(probs [min:max])'总和为1吗? –
@RuiBarradas虽然这提出了一个我忽略提及的观点,但我不认为prob中的概率将与随机抽样的字符标签相对应... –
是的,我相信它会。或者至少我读了'sample'的帮助页面:'prob - 概率权重矢量,用于获取被抽样矢量的元素。“还要注意,概率自动调整为1,所以代码在我的评论中将是无用的。 –