У меня есть простая функция на языке R, например:
f<-function(x){
y=(x+2)/3
return(y)
}
Я хочу оценить эту функцию пять раз на ее собственных выходах, то есть y1=f(x), y2=f(f(x)), y3=f(f(f(x))), y4=f(f(f(f(x)))), y5=f(f(f(f(f(x)))))
.Существует ли более простой способ сделать это в виде одной функции, например, функции с двумя аргументами, когда первый аргумент равен x
, а второй аргумент - это число раз оценки, то есть n
.Например, для x=3
и n=5
я хотел бы иметь функцию f2<-(x=3,n=5)
, чей вывод был бы в форме вектора или списка длины, равной n
со значениями:
y1=f(3)=1.666667
y2=f(f(3))=1.222222
y3=f(f(f(3)))=1.074074
y4=f(f(f(f(3))))=1.024691
y5=f(f(f(f(f(3)))))=1.00823
Как написать такую функцию в R?