首页 > 解决方案 > 在 beta 分布上查找给定 x 值的 y 值

问题描述

我试图找到 beta 曲线上点的 y 值。

这是我的测试版;假设我想找到 x 值为 0.6 的点,例如:

x=seq(0,1,length=100)
y=dbeta(x,7,2)
plot(x,y, type="l", col="blue")
abline(v=0.6)

在此处输入图像描述

我尝试添加相应的点,但由于某种原因它不起作用:

points(0.6, beta(7, 2), cex=3, pch=20, col="black")

在此处输入图像描述

一旦解决了这个问题,我怎样才能找到 y 值?我在网上看;我发现了一些使用 approxfun 的示例,但我不知道如何将其应用于此问题。

标签: rinterpolation

解决方案


您需要使用dbeta()而不是beta()(假设这不是错字),并指定所有三个x,shape1shape2. 我想你想要

points(0.6, dbeta(0.6, shape1=7, shape2=2), 
   cex=3, pch=20, col="black")

如果要将实际的 y 值存储在变量中,请使用

bval <- dbeta(0.6, shape1=7, shape2=2)

推荐阅读