Каков наилучший способ передачи аргументов пользовательской функции, вызываемой из строки в R? - PullRequest
0 голосов
/ 18 марта 2020

Я чувствую, что это действительно просто, и мне просто не хватает простой функции. У меня есть определенные пользователем функции в моей среде. Open, Weak, Strong et c.

В моем коде есть переменная, которая на основе критериев выбирает одну из этих функций для запуска.

Fun_Sel<-case_when(TP < 6 ~ "Pass",
                   6  <= TP & TP <= 11 ~ "Weak",
                   12 <= TP & TP <= 12 ~ "Rule22",
                   13 <= TP & TP <= 21 ~ "Open",
                   TP >= 22 ~ "Strong")

Когда я использую встроенную функцию get на Fun_Sel, я получаю

get(Fun_Sel)
function(df){

  if( 15 <= as.numeric(df[2]) & as.numeric(df[2]) <= 17 & df[4] == "Bal"){....

Использование eval(parse(text=Fun_Sel)) дает мне ту же проблему

Как Я передаю аргументы и запускаю функцию вместо вывода распечатки в консоли самой функции?

1 Ответ

1 голос
/ 18 марта 2020

Согласен, gettting Fun_Sel с get () вернет только сам объект функции. Вот и все, что печатается на консоли. Это тот факт, что вы помещаете () после функции, которая активирует ее и выполняет вызов функции. Вы можете включить желаемые параметры в ().

get(Fun_Sel)(par1, par2, etc)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...