R中概率的计算
我有两个问题,我想用R来解决R中概率的计算,r,probability,R,Probability,我有两个问题,我想用R来解决 我有一个分布未知的值向量 我如何计算中某个值的概率 R中的向量 如何计算一个值的概率 通过模拟1000次发生 我的测试数据如下: values_all <- c(rep(1, 3), rep(2, 5), rep(3, 2), 4, rep(5, 4), rep(6, 2), rep(7, 3)) prob_to_find <- 5 values\u all对于问题1,您可以使用: values_all <- c(rep(1, 3), rep(2
我有一个分布未知的值向量
values_all <- c(rep(1, 3), rep(2, 5), rep(3, 2), 4, rep(5, 4), rep(6, 2), rep(7, 3))
prob_to_find <- 5
values\u all对于问题1,您可以使用:
values_all <- c(rep(1, 3), rep(2, 5), rep(3, 2), 4, rep(5, 4), rep(6, 2), rep(7, 3))
prob_to_find <- 5
probability <- sum(values_all == prob_to_find) / length(values_all)
值\u all要从未知分布计算值的概率,基本上可以计算值的概率:
prop.table(table(values_all))
values_all
哪些产出:
1 2 3 4 5 6 7
0.15 0.25 0.10 0.05 0.20 0.10 0.15
或者,您需要在检查向量后假设一个分布,例如均匀(1,7)
将是:
> punif(3, min = 1, max = 7)
[1] 0.3333333
关于此决策过程,请参阅。
另外,请注意,对于连续分布,您应该计算两个双(数值)值之间的差值,因为根据定义,特定值的概率为零
为了避免随意决定,运行模拟通常是更安全的选择。您只需更换样品即可:
b <- vector("numeric", 1000)
set.seed(1234)
for (i in 1:1000){
b[i] <- sample(values_all, size=1, replace = T)
}
prop.table(table(b))
即:值3的概率=8.7%。您尝试了什么?在同一篇文章中问两个问题有点像是为我做的。你说你想模拟,但你没有提到你的数据是如何推导出来的。也许您可以使用sample()
生成一组随机值,例如sample(1:10,size=20,replace=T)
“我有一个分布未知的值向量。”那么,您的值是分布中的样本?关于这个分布有什么消息吗?例如,您的示例似乎表明它是正整数值的离散分布。如果没有额外的信息或假设,这是无法解决的。
b
1 2 3 4 5 6 7
0.144 0.251 0.087 0.053 0.207 0.099 0.159