2013-06-12 5 views
1

Я пытаюсь нарисовать образцы из дистрибутива Gamma, но я рассматриваю аргумент «scale» rgamma как вектор, потому что каждый образец имеет разные параметры масштаба. Я хотел бы знать, что является правилом этой функции для выбора значений аргумента. Например, если я бегу это:Функция rgamma в R: масштаб в виде вектора

rgamma(10,shape=1,scale=1:10) 

Является ли это генерации rgamma(1,shape=1, scale=10), $ \ ldots $, rgamma(1,shape=1, scale=10)? Кроме того, что делать, если я запускаю это:

rgamma(1,shape=1,scale=1:10) 
rgamma(2,shape=1,scale=1:10) 
rgamma(11,shape=1,scale=1:3) 

Какой масштабный параметр он выбирает для каждой ничьей? Может кто-нибудь мне помочь? Thanks

+0

@Pedro: Используйте 'sapply':' sapply (1:10, FUN = rgamma, shape = 1, n = 10) '. В этом случае «1: 10» являются значениями шкалы, а форма равна 1, а $ n $ равна 10. Это создает матрицу 10x10 с каждым столбцом, соответствующим одному значению «масштаб». – COOLSerdash

ответ

2

R имеет встроенную векторную схему. Это означает, что для ваших первых вопросов: rgamma(10, shape=1, scale=c(1:10)) будет генерировать 10 значений, по одному для каждого параметра масштаба.

Когда число rgamma вызовов не то же самое, как длина вектора, как и в rgamma(11, shape=1, scale=c(1:3)), R будет перерабатывает значение масштаба с целью до тех пор, пока имеет 11 значение шкалы вида c(1,2,3,1,2,3,1,2,3,1,2).

+0

... и 'rgamma (2, shape = 1, scale = 1: 10)' будут использовать первые 2 значения параметра scale. –