Пользовательская функция R, которая принимает целое число i, а затем возвращает целочисленное имя переменной - PullRequest
0 голосов
/ 16 апреля 2020

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

Например, :

f <- function(i) {
  var_i<-another.Function(parameter="ni")
  }

Это должно вернуть переменную var_1, если я передам i=1.

Моя цель состоит в том, чтобы реализовать параллельную обработку с использованием этой функции, которой я бы передал диапазон целых чисел для процессы, т.е. mclapply(1:13,f)

Я изначально использовал eval(parse=text..., однако я прочитал, что это не рекомендуемый метод.

1 Ответ

0 голосов
/ 16 апреля 2020

Быстрый способ сделать это, если вы хотите передать это для диапазона целых чисел, - это использовать assign (base), который создает переменные, и paste (base),

for (i in 1:10){  #or whatever range you want to use

#assign(name of var, the value of var (here 2i, but whatever function you need to pass))
assign(paste("var", i, sep = "_"), i*2) }

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

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