2014-08-04 4 views
1

Вот фрагмент R скрипт делает бета-регрессии по данным «GasolineYield»:R: параметр в функции обновления

library("betareg") 
data("GasolineYield", package = "betareg") 
gy_logit <- betareg(yield ~ batch + temp, data = GasolineYield) 
gy_logit4 <- update(gy_logit, subset = -4) 

4-я строка магически удаляет 4-го наблюдения и автоматически обновлять припадок, но я не» t вполне понимаю, почему этот параметр работает в функции обновления здесь, потому что я попытался найти документацию по ?update, но не смог найти такой параметр.

Мне любопытно, как найти правильную документацию в этом случае, потому что, возможно, я хочу добавить новое наблюдение вместо его удаления. Любая помощь?

+0

Обычно отрицательное подмножество удаляет этот столбец и оставляет остальное. Как обратное подмножество. –

+0

Простите, что я не задал вопрос, я хотел знать, почему в документации нет такого параметра, я его отредактировал. – user3684014

+0

У вас проблемы с поиском, потому что 'subset' является частью' ... дополнительных аргументов, переданных в список или из других методов. '. Похоже, эта функция меняет формулу в строке над ней –

ответ

2

subset в betareg работает так же, как subset в lm, поэтому вы можете прочитать lm документацию.

Из файла справки вы можете найти:

subset дополнительный вектор, определяющий набор наблюдений, которые будут использоваться в процессе подбора.

Следовательно, установив select=-4, вы оставите четвертую строку в оценке.

+0

Извините, но я не задал вопрос, я хотел бы знать, почему в документации нет такого параметра, пока он все еще работает. Я обновил свой вопрос – user3684014

+0

@ user3684014, посмотрите на '" ... "' in '? Update' –

0

update() содержит параметр ..., что означает, что любые параметры, которые не соответствуют вашему вызову update(), передаются функции, выполняющей оценку. В этом случае это betareg(), у которого есть аргумент subset.

Этот тип вещей очень распространен в R. Многие функции более высокого уровня, которые вызывают другие видимые пользователем функции, будут иметь три параметра точки и передавать любые непревзойденные параметры, поэтому вы должны искать все видимые пользователем функции которые вызываются, чтобы знать все возможные варианты.

Вы можете проверить файл справки для функции верхнего уровня (update() в этом случае), чтобы узнать, какие функции получают оставшиеся параметры.

Смежные вопросы