2016-02-07 5 views
0

Я пишу плагин для Rcmdr, я хочу сохранить результат от функции к объекту в текущей среде.R вывод функции в среду внутри функции

В R, чтобы сохранить результат функции к объекту в среде дается functiontest():

functiontest() <- function() { 
object <- c("2","3") 

print(object) 
} 


my_object <- functiontest() 

Если я пишу в своем терминале только functiontest() консоль возвращает выходной, но это Безразлично Создайте в моей рабочей области объект с именем my_object.

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

functiontest() 

и автоматически сохраняет объект в моей среде с выходом этой функции указанной

+0

'assign', .... –

ответ

1

Как один из комментаторов, вы можете «назначить» значение переменной в пределах глобальной окружающей среды. Вот минимальный пример:

functiontest <- function(value, name) { 
x <- value 
assign(name, x) 
} 

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

functiontest <- function() { 
    object <<- c("2","3") 
    object 
} 

functiontest() 
+0

Я редактировал вопрос, так как я думаю, что это было неясно, – GGA

+1

я считаю, что это будет работать: объект << - с ("2", "3") –

+0

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

Смежные вопросы