Использование аргумента для определения оператора извлечения в пользовательской функции - PullRequest
0 голосов
/ 10 апреля 2019

Я создал функцию, которая использует функцию подмножества.Как мне назначить аргумент и использовать его после оператора извлечения?

Вот что у меня сейчас:

function_test<-function(time1,size,Param){ test1_in_equilibrium<-(subset(alldata,Time>=time1 & FinalPopSize==size)$Param) }

Учитывая следующий вызов: function_test(100,5000,Time) Я бы хотел, чтобы R расширил его следующим образом: test1_in_equilibrium<-(subset(alldata,Time>=time1 & FinalPopSize==size)$Param)

К сожалению, когда я пытаюсь запустить эту функцию, я получаю объект ошибки "Время" не найден.

Я предполагаю, что пропалescape-символ или что-то подобное, но не смогли его найти.

Спасибо!

1 Ответ

2 голосов
/ 10 апреля 2019

Нельзя добавить оператор $ к вызову функции и нельзя использовать переменную с оператором $.

Однако я понимаю, что вы хотите получить столбец, определенный входной переменной Param, из подмножества data.frame. В этом случае вы можете легко написать такую ​​функцию:

function_test <- function(time1,size,Param){
  reduced_data <- subset(alldata, Time>=time1 & FinalPopSize==size)
  test1_in_equilibrium <- reduced_data[, Param]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...