2015-06-22 5 views
2

Я предполагаю, что это было задано ранее, но я все еще немного ржавчиво о функциях «sample» и «rbinom» в R и хотел бы задать следующие два простых вопросы:Функции «sample» и «rbinom» в R

а) Допустим, мы имеем:

 rbinom(n = 5, size = 1, prob = c(0.9,0.2,0.3)) 

Таким образом, «п» = 5, но «проб» указывается лишь три из них. Какие значения R присваиваются для этих двух n?

б) Предположим, что мы имеем:

 sample(x = 1:3, size = 1, prob = c(.5,0.2,0.9)) 

Согласно R-помощи (образец):

 The optional prob argument can be used to give a vector of weights  
    for obtaining the elements of the vector being sampled. 
    They need not sum to one, but they should be non-negative and not all zero. 

вопрос будет: почему "проб" не нужно сумму одному ?

Любые ответы были бы очень благодарны: спасибо!

+4

Почему они должны быть суммированы до 1? Вес 'c (3,1)' справедлив как 'c (0.75,0.25)'. И я полагаю, что R будет просто перерабатывать весы в длину 'n' в соответствии с' rbinom (n = 5, size = 1, prob = c (1,0)) ', где веса будут« 1,0,1,0, 1' – thelatemail

+1

Внутренне R будет перерабатывать, если необходимо, и 'prob = prob/sum (prob)' перед его использованием – Robert

ответ

4

От documentation for rbinom:

, отличных от п числовых аргументов возвращают в длину результата.

Это означает, что в вашем примере prob вектор вы передаете будут переработаны до тех пор, пока не достигнет требуемой длины (предположительно 5). Таким образом, вектор, который будет использоваться, является:

c(0.9, 0.2, 0.3, 0.9, 0.2) 

Что касается функции sample как @thelatemail указал вероятности не должны подвести к 1. Оказывается, что prob вектор получает нормированы на 1 внутри.