Как передать аргументы функции объекту модели R - PullRequest
0 голосов
/ 30 января 2019

Я хотел бы передать аргументы функции объектам модели R glm.Тем не менее, кажется, что мой код ниже не работал, так как R. не распознал передаваемый аргумент.

Я продолжал получать ошибку: нечисловой аргумент для двоичного оператора

grid = (cbind(c('wl', 'livingd', 'deceasedt'), c('wl_time', 'ld_time', 'dec_time')))

for (k in 1:nrow(grid)){

  f=function(y=as.name(grid[k,1]), offset=as.name(grid[k,2])){
    m=glm(y~chain_class2+sex_new+age_cat+race_new, 
                      family=poisson(link='log'), 
                      data=poissonset, 
                      offset=log(offset/12))
  }

}

Есть ли способ передать имена переменных в функцию?Спасибо!

1 Ответ

0 голосов
/ 30 января 2019

Попробуйте это:

grid = (cbind(c('wl', 'livingd', 'deceasedt'), c('wl_time', 'ld_time', 'dec_time')))

for (k in 1:nrow(grid)){

  f=function(y=as.name(grid[k,1]), offset=as.name(grid[k,2])){
    m=glm(get(y)~chain_class2+sex_new+age_cat+race_new, 
                      family=poisson(link='log'), 
                      data=poissonset, 
                      offset=log(get(offset)/12))
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...