Жаль, я не могу раздать еще +1 здесь. Была другая проблема, попытался спросить на SO, но не вызвал предложение указало мое на это. Ваши ответы снова помогли! здорово.

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

lapply(somelist, f, a=1, b=2) 

но что, если аргументы меняются в зависимости от элемента списка? Предположим, мой список состоит из:

somelist$USA
somelist$Europe
somelist$Switzerland

плюс естьanotherlist с теми же регионами, и я хочу использовать lapply с этими меняющимися аргументами? Это может быть полезно, когда f был, например, расчет отношения.

lapply(somelist, f, a= somelist$USA, b=anotherlist$USA) 

Есть ли способ, кроме цикла, эффективно проходить через эти регионы?

РЕДАКТИРОВАТЬ: моя проблема, кажется, в том, что я пытался использовать ранее написанную функцию без индексов ...

ratio <-function(a,b){
z<-(b-a)/a
return(z)
}

что привело к

lapply(data,ratio,names(data))

который не работает. Возможно, другие тоже могут извлечь уроки из этой ошибки.

Ответы на вопрос(2)

Ваш ответ на вопрос