Я использую пакет glmulti, чтобы подгонять модели к нескольким наборам данных. Все работает, если я подбираю один набор данных за раз.
Итак, например:
output <- glmulti(y~x1+x2,data=dat,fitfunction=lm)
отлично работает.
Однако, если я создаю такую оберточную функцию:
analyze <- function(dat)
{
out<- glmulti(y~x1+x2,data=dat,fitfunction=lm)
return (out)
}
просто не работает. Ошибка, которую я получаю, это
error in evaluating the argument 'data' in selecting a method for function 'glmulti'
Если нет кадра данных с именем dat, он не работает. Если я использую results=lapply(list_of_datasets, analyze)
, это не сработает.
Так что же дает? Без моей указанной обертки я не могу привязать список наборов данных через эту функцию. Если у кого-то есть мысли или идеи о том, почему это происходит или как я могу обойти это, это было бы здорово.
Пример 2:
dat=list_of_data[[1]]
analyze(dat)
работает отлично. Поэтому в некотором смысле это игнорирует аргумент и просто буквально ищет кадр данных с именем dat. Он ведет себя одинаково независимо от того, что я называю.