Как передать входной параметр для UDF в sapply - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть вектор значений и пользовательская функция с несколькими параметрами.Я хочу добавить свой UDF к каждому значению в этом векторе, в то время как каждая запись в этом векторе также является входным параметром для UDF

t <- 1:5
myfunc <- function (setvar, var){
    return(setvar * var)
}

sapply(t, myfunc(setvar = 2), var = t)

Так что в этом случае результат, который я хотел бы получить:

2 4 6 8 10

1 Ответ

0 голосов
/ 04 февраля 2019

Вы можете сделать

sapply(t, myfunc, setvar = 2)
#[1]  2  4  6  8 10

Или чтобы понять, что именно вы передаете, используйте анонимную функцию

sapply(t, function(x) myfunc(2, x))

Также t является базовой функцией в R, так чтолучше использовать другое имя для ваших переменных.

...