2014-02-21 6 views
4

Каковы различия в операциях присваивания <- и <<- в R?Операторы присваивания в R: '<-' и '<< -'

И когда следует использовать <<-?

+0

это было задано раньше: http://stackoverflow.com/questions/5785290/what-is-the-difference-between-assign-and-in-r – joekz

+1

См. Также [this] (http: // stackoverflow. com/q/9851655/324364) и [это] (http://stackoverflow.com/questions/10904124/global-and-local-variables-in-r). Последнее, в частности, является очень близким дубликатом. – joran

+3

Я бы просто забыл о '<< -', я никогда не видел для него правильного использования. Глобальные переменные не нужны, а для уродливых, трудно читаемых и поддерживающих код. –

ответ

6

<- присваивает объект среде, в которой он оценивается (локальная область). <<- присваивает объект следующей высшей среде, в которой находится имя, или глобальное пространство имен, если имя не найдено. См. Документацию here.

<<- обычно используется только в функциях, но будьте осторожны. <<- может быть гораздо сложнее отладить, потому что сложнее отследить оценку задания. Вместо этого лучше написать функции с операторами return.

У Хэдли Уокема есть хорошее объяснение в его Advanced R Programming Book.

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