Замените двойную/вложенную функцию цикла, которая возвращает кадр данных, с применением в R

Рассмотрим функцию, которая принимает два входных аргумента и возвращает кадр данных:

myFun <- function(a, b){
   data.frame(aSQ = a^2, bSQ = b^2, SQPROD = a^2*b^2)
}

myFun(1, 1)

По каждому из аргументов этой функции можно построить двойной цикл:

results <- as.data.frame(matrix(0, nrow = 9, ncol = 3, 
                         dimnames = list(c(), c('aSQ', 'bSQ', 'SQPROD'))))
for (a in 1:3)
   for (b in 1:3)
      results[(a-1)*3+b, ] <- myFun(a, b)

Как заменить этот двойной цикл конструкцией применения?


person Aditya    schedule 13.08.2015    source источник


Ответы (1)


person    schedule
comment
meta.stackexchange.com/questions/17463/ - person Aditya; 18.08.2015
comment
Могу я не согласиться с таким поведением, хотя? - person ; 18.08.2015
comment
Что ж, я думаю, что самостоятельный ответ — это нормально, но мнения расходятся. Во всяком случае, я не вижу здесь никаких злых намерений. - person Philipp Claßen; 19.08.2015