我有一个赋值问题,我觉得用函数会更容易。我尝试了一下,但收到了一个错误。我的问题是,如何将突出显示的数学编码为函数?我希望函数在更改样本大小时返回概率输出。
例如,在突出显示的数学中,样本大小是24,我必须选择20。
下图。
在此处输入图像描述
我希望函数本质上像下面的等式,并且我希望输入不同的样本大小来产生输出。
p(X=20(&&{Sample_Size \ choose 20}*(0.90^20(*(0.10^4(=";输出";
以下是我尝试做但没有成功的事情,错误为
"中的意外符号;概率<-函数";
Probability <- function(Sample_Size) {Probability<- choose(Sample_Size,X)*.9^X *.10^(Sample_Size-X) return(Probability)
R中已经有一个函数可以为您执行此操作。它被称为dbinom
(因为它看起来像是在处理二项式分布(。
以下是如何使用它的示例:
dbinom(x = 20, size = 24, prob = 0.9)
#> [1] 0.1291874
dbinom(x = 21, size = 24, prob = 0.9)
#> [1] 0.221464
dbinom(x = 22, size = 24, prob = 0.9)
#> [1] 0.2717968
由reprex包于2020-09-13创建(v0.3.0(
第一个参数(x(取您想要获得的成功次数的概率。
第二个(大小(取样本大小
第三个(prob(是指成功的概率。
它应该是这样的:
your_input # sample_size
Probability<-function(Sample_Size, X) {
Probability<- choose(Sample_Size,X)*.9^X *.10^(Sample_Size-X)
return(Probability)
}
Probability(your_input, 20) # 20 being a random input number -> depends on your X value
参见@Rui Barradas的回答