У меня есть массив (скажем, имеющий 1000 элементов) и функция , которая вычисляет два параметра в массиве.
Если первый параметр равен 1, а второй 400, я тогда беру 2 подмассива. Первый будет иметь 400 элементов, второй - 600 элементов.
Для этих новых массивов я применяю функцию и повторяюсь до тех пор, пока функция не выведет 0 для всех вложенных массивов для всех параметров. У меня могут быть итерации манта.
Мне интересно, как это эффективно сделать в R.
Массив существует в начале .
Вот пример кода:
myfunc<-function(array) {
random<-runif(1)
result<-c(random,as.integer(random*length(array)))
}
data<-rnorm(2500,1000,50)
values<-myfunc(data)
# now I apply myfunc on the data
# If values[1] is smaller than 0.5, I stop
# if values[1] is larger, I generate two separate sub-arrays
if (values[1]>0.5){
first_array<-myfunc(data[1:values[2]])
second<-myfunc(data[values[2]:length(data)])
}
# And then on the first array, I apply myfunc and so on