Применить несколько раз функцию к новым массивам - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть массив (скажем, имеющий 1000 элементов) и функция , которая вычисляет два параметра в массиве.

Если первый параметр равен 1, а второй 400, я тогда беру 2 подмассива. Первый будет иметь 400 элементов, второй - 600 элементов.

Для этих новых массивов я применяю функцию и повторяюсь до тех пор, пока функция не выведет 0 для всех вложенных массивов для всех параметров. У меня могут быть итерации манта.

Мне интересно, как это эффективно сделать в R.

enter image description here

Массив существует в начале .

Вот пример кода:

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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...