Есть ли способ передать несколько значений более чем в 1 отдельный аргумент функции в R? - PullRequest
0 голосов
/ 02 января 2019

У меня есть эта функция, которая принимает 3 аргумента. Первый аргумент - это список данных. Второй аргумент - это датафрейм. Третий аргумент - это простая числовая величина. Я хотел бы изменить различные параметры функции, чтобы увидеть, что подходит мне лучше всего, и записать результаты. Но у меня есть 15 вещей для прохождения каждого из аргументов, то есть 15 списков, 15 кадров данных. Так есть ли способ ускорить процесс.

Я попробовал подход do.call и sapply, но безуспешно. Но я думаю, что мне не удается правильно создать список с аргументами, которые я хочу.

matchloop <- function(data, data2, x) {
#first argument is used
split <- data
...
 #second argument is used
 while(nrow(tempdf0.3) >= 1 && m <= (nrow(data2))/2) {
  ...
  #second argument used again
  tempdf0.1 <- as.data.frame(data2[n:m,], stringsAsFactors = FALSE)
  ...
  #third argument is used
  tempdf0.3 <- mutate(tempdf0.3, routeID = (subset(tempdf0.5, 
  routeID != x)$routeID))
  ...
 }
 #return output
 return(tempdf0.3)
}

Если это один за другим, я могу просто пойти дальше и сделать matchloop (1-й список, 1-й список, 1-е значение), а затем продолжать повторять для 2-го, 3-го .... Так есть ли способ, которым я могу сделать их все за один раз?

...