道具表()和;dnorm()

道具表()和;dnorm(),r,R,有人能解释为什么以下两个图产生不同的结果: prop.table(table(S))[其中'S'是随机变量…在本例中表示轮盘赌结果] dnorm([在S范围内的值列表]、平均值、标准差) 以下是我的代码片段: 随机变量的频率图 绘图(属性表),xlab=“净利润”,ylab=“概率”,type=“h”) 基数概率密度不是概率。它是某事物每单位的概率 你的样本S只能被2整除,因为结果是-1或1。当你制表时,你会注意到这一点。然后prop.table返回这些值的比例或概率(-2,0,2,4,6,…)

有人能解释为什么以下两个图产生不同的结果:

  • prop.table(table(S))[其中'S'是随机变量…在本例中表示轮盘赌结果]
  • dnorm([在S范围内的值列表]、平均值、标准差)
  • 以下是我的代码片段:

    随机变量的频率图
    绘图(属性表),xlab=“净利润”,ylab=“概率”,type=“h”)
    
    基数概率密度不是概率。它是某事物每单位的概率

    你的样本S只能被2整除,因为结果是-1或1。当你制表时,你会注意到这一点。然后
    prop.table
    返回这些值的比例或概率(-2,0,2,4,6,…)。这些是离散值,不是连续值

    dnorm
    返回给定正态分布的密度。因此,如果您想使用
    dnorm
    模拟概率,则需要将其乘以每单位。在本例中,2-直方图条的宽度

    pdf2 = data.frame(profit = base, probability = dnorm(base,avg,sd) * 2)
    lines(pdf2, col="blue", lwd=2)
    

    如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易为您提供帮助。但我认为你可能会混淆预期/观察到的概率,混淆离散和连续随机变量,这两个问题实际上都是统计学问题,而不是编程问题。关于统计数据的问题应该在上而不是堆栈溢出。连续分布的密度(由dnorm计算)不是比例或概率,因此您不会期望它们与离散分布的比例匹配。@Flick先生,感谢您为我指出了一个适当的platform@GeorgeSavva,你是说dnorm给了我这个值的“概率密度”吗?这不是真正的概率?那么,为了得到概率,我应该怎么做<代码>pnorm(x+Δx,平均值,sd)-pnorm(x,平均值,sd)
    密度不是概率。你必须把密度乘以某个值。要使其等于
    属性表中的概率
    ,请找到S(您的样本)的箱子宽度。在你的情况下,它是2。所以prob=density*2。谢谢你的解释。特别是关于箱子尺寸的:D
    
    set.seed(1)
    plays <- 1000
    B <- 10000
    
    #Monte Carlo Sim for Roulette Wheel
    
    S <- replicate(B,{  # S because Random Variable
      sum(sample(c(-1,1), plays, replace = TRUE, prob = c(18/38,20/38)))
      # -1 -> Casino loose bet ; 1 -> Casino win bet
    })
    
    avg = mean(S); sd = sd(S)
    
    # Frequency Plot of Random Variable of R. Wheel outcome
    plot(prop.table(table(S)), xlab = "Net Profit", ylab = "Probability", type = "h")
    
    base <- seq(min(S),max(S),length = B)
    pdf = data.frame(profit = base, probability = dnorm(base,avg,sd))
    
    lines(pdf)
    
    pdf2 = data.frame(profit = base, probability = dnorm(base,avg,sd) * 2)
    lines(pdf2, col="blue", lwd=2)