Предположим, у меня есть два разных вектора параметров, используемые в качестве входов в функции. Кроме того, предположим, что два вектора параметров имеют разную длину. Есть ли способ вывести все возможные значения этой функции? Я знаю, что если я использую два вектора параметров различной длины, то короткий вектор параметра просто повторяется, так что это не работает. Я могу решить это «вручную», как вы можете видеть ниже. Но я бы хотел найти более эффективный способ расчета всех возможных комбинаций. Ниже приведен пример:Использование векторов параметров различной длины в R
Предположим, что я использую функцию dbinom(), которая имеет в качестве входных данных x (число «успехов» из образца), n (количество наблюдений в выборке) и p (вероятность «успех» для каждого x). n остается постоянным при 20; однако мой x изменяется от 7,8,9, ..., 20 («x7» ниже) или 0,1 («x1» ниже). Кроме того, я хочу оценить dbinom() при разных значениях p, а именно от 0 до 1 дюймов .1 приращений («p» ниже). Как вы можете видеть, три вектора параметров x7, x1 и p имеют разные длины 14, 2 и 11 соответственно.
> p<-seq(from=0,to=1,by=.1)
> x7<-seq.int(7,20)
> x1<-c(0,1)
> n<-20
можно оценить каждую комбинацию с помощью одного из векторов (х7/x2 или р) в dbinom(), а затем выбрав значение для оставшихся параметра. Как вы можете видеть ниже, я использовал вектор x7 или x2, а затем «вручную» изменил p на равные 0, .1, .2, ..., 1.
> sum(dbinom(x7,n,.1))
[1] 0.002386089
> sum(dbinom(x7,n,.1))+sum(dbinom(x1,n,.1))
[1] 0.3941331
> sum(dbinom(x7,n,.2))+sum(dbinom(x1,n,.2))
[1] 0.1558678
> sum(dbinom(x7,n,.3))+sum(dbinom(x1,n,.3))
[1] 0.3996274
> sum(dbinom(x7,n,.4))+sum(dbinom(x1,n,.4))
[1] 0.7505134
> sum(dbinom(x7,n,.5))+sum(dbinom(x1,n,.5))
[1] 0.9423609
> sum(dbinom(x7,n,.6))+sum(dbinom(x1,n,.6))
[1] 0.9935345
> sum(dbinom(x7,n,.7))+sum(dbinom(x1,n,.7))
[1] 0.999739
> sum(dbinom(x7,n,.8))+sum(dbinom(x1,n,.8))
[1] 0.9999982
> sum(dbinom(x7,n,.9))+sum(dbinom(x1,n,.9))
[1] 1
> sum(dbinom(x7,n,1))+sum(dbinom(x1,n,1))
[1] 1
В принципе, я хочу знать, если есть способ, чтобы получить R печатать все суммы выше от 0.3941331,0.1558678, ..., 1, с одной строкой ввода или каким-либо другим более эффективным способом изменяя параметр p без простого копирования и изменения p на каждой строке.
* Я новичок в Stackoverflow, поэтому заранее извиняюсь, если не сформулировал свой вопрос традиционно.
Что вы пытаетесь достичь с помощью 'суммы (dbinom (....))', конечно, вы хотите 'pbinom '? – mnel