2015-02-27 3 views
1

Я как бы новичок в R, и я хотел бы протестировать различные параметры для интерполяции Inverse Distance Weighting (IDW).Зацикливание функции IDW в R

data.idw.n <- idw(variable~1, data, data.grid, nmax=n) 

Я хотел бы повторить следующую функцию несколько раз, просто изменив значение n (скажем, от 1 к 20) переменной nmax и сохранять результаты отдельно для выполнения анализа модели чувствительности.

Думаю, мне понадобится какой-то базовый цикл. Кто-нибудь может мне помочь?

Большое спасибо!

+2

Как насчет 'list.idw <- lapply (1:20, function (n) idw (переменная ~ 1, data, data.grid, nmax = n))'? –

+0

Отлично! Оно работает! –

ответ

1

Для этого я хотел бы использовать mapply:

list_of_idw_results = mapply(idw, 
          nmax = 1:20, 
          MoreArgs = list(formula = variable ~ 1, 
              data = data, 
              newdata = data.grid)) 

Это приводит к списку idw результатов для nmax значения от 1 до 20. Вы можете изменить несколько переменных одновременно, добавляя больше переменных после nmax = 20 ,

+0

Также отличное решение! Мне нужно будет изучить это! Спасибо! –

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