数据帧使用条件概率来提取特定范围的值

时间:2018-03-18 19:58:18

标签: r dataframe conditional distribution sample

我想帮助回答以下问题:

  

Barchan博士对Eric的坐标(X,Y,Z)进行600次独立记录,选择X∈(0.45,0.55)的情况,并为这些情况绘制Y值的直方图。

     

通过构造,Y的这些值遵循给定X∈(0.45,0.55)的Y的条件分布。使用函数sample3d模拟此过程并绘制结果直方图。此直方图中显示了多少个Y样本?

     

我们可以认为,给定X∈(0.45,0.55)的Y的条件分布近似于给定X = 0.5的Y的条件分布 - 如果我们使X值的间隔变小,则该近似得到改善。

     

重复上述模拟选择X∈(0.5 - δ,0.5 +δ)的情况,使用适当选择的δ和足够大的样本大小,给出X = 0.5的条件分布的可靠图像。 / p>

我知道第一段我们想要为{,1,}生成x,y,z的值,然后将x限制在0.45-0.55范围内,有没有办法编码(可能是一个if函数),它允许我将x的值保持在这个范围内但是丢弃不在该范围内生成的600的所有x?也有人对第三段中的条件概率位有任何提示。

sample3d(600)

任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

您的函数会生成数据框。问题中要求您在给定范围内的数据框中找到这些值的部分可以通过过滤数据帧来解决。请注意,您正在查找已关闭的时间间隔(不包含值)。

df <- sample3d(600)
df[df$X > 0.45 & df$X < 0.55,]

注意逗号。

您也可以使用dplyr解决方案,但不要使用帮助器between(),因为它会查看打开的间隔(您需要一个关闭的间隔)。

filter(df, X > 0.45 & X < 0.55)

对于你的其余任务,看看你能弄清楚什么,如果你遇到一个特定的问题,堆栈溢出可以帮助你。