我正在尝试首先从<= -4
正态分布中提取所有值p1
(称为mother
)。然后,根据p1
在mother
中被选择的概率随机抽取50个p2
(称其为50个-4
)。例如,-6
比mother <- rnorm(1e6)
p1 <- mother[mother <= -4]
p2 <- sample(p1, 50, replace = T) # How can I define probability of being selected here?
更可能被选中,后者更靠近尾部区域。
我想知道我下面的R代码是否正确捕获了我上面描述的内容?
var animals = { "types": [ { "id": "1", "tags": ["cat"] }, { "id": "2", "tags": ["dog"] }, { "id": "3", "tags": ["cat", "bird", "dog"] }, { "id": "4", "tags": [] }, { "id": "5", "tags": ["cat", "bird"] } ] }
var finalRes={};
animals.types.map(function(o, i){
o.tags.map(function(p, j){
finalRes[p]=(finalRes[p]||0)+1;
});
});
console.log(finalRes);
答案 0 :(得分:1)
您可以使用函数sample
自变量prob
。引用help("sample")
:
概率概率权重向量,用于获得的元素 被采样的向量。
在Details
部分中:
可选的prob参数可用于为以下项提供权重向量 获得要采样的向量的元素。他们不需要求和 设为1,但它们应为非负且不全为零。
因此,您必须小心,与平均值的距离越小,概率越小,正态分布会很快下降到较小的概率值。
set.seed(1315) # Make the results reproducible
mother <- rnorm(1e6)
p1 <- mother[mother <= -4]
p2 <- sample(p1, 50, replace = T, prob = pnorm(p1))
您可以看到它与直方图一起工作。
hist(p2)
答案 1 :(得分:1)
首先从截断后的正态分布采样会更容易吗?
truncnorm::rtruncnorm(50, a = -Inf, b = -4)
答案 2 :(得分:0)
我认为您正在寻找这样的东西:
mother <- rnorm(1e6)
p1 <- mother[mother <= -4]
计算从mother
中选择p1的可能性
p2 <- sample(p1, 50, replace = T,prob = pnorm(p1,mean = mean(mother),sd = sd(mother)))