В чем разница между `=` и `<-` в R?

Возможный дубликат:
Операторы присваивания в R: ‘=’ и ‘<-'

Я использую R 2.8.1, и можно использовать как = и <- качестве операторов с переменным присваиванием. В чем разница между ними? Какой из них я должен использовать?

Отсюда :

Операторы <- и = присваивают в среду, в которой они вычисляются. Оператор <- можно использовать где угодно, тогда как оператор = разрешен только на верхнем уровне (например, в полном выражении, введенном в командной строке) или в качестве одного из подвыражений в скобках списка выражений.

Чтение из «Введение методов Монте-Карло с R», Роберт и Казелла:

«Оператор присваивания = , не следует путать с == , который является логическим оператором для равенства. Более старый оператор присваивания <- и, по соображениям совместимости, он по-прежнему остается функциональным, но его следует игнорировать, чтобы обеспечить более чистое программирование (Как указывает Спектор, П. (2009). «Манипуляция данными с R» - раздел 8.7. Исключение составляет использование system.time , поскольку = используется для определения ключевых слов)

Обманчивая функция оператора присваивания <- найдена в булевых выражениях, таких как

 > if (x[1]<-2) ... 

который должен проверять, является ли x [1] меньше, чем -2, но заканчивает выделение 2 на x [1], стирая его текущее значение! Заметим также, что использование

 > if (x[1]=-2) ... 

ошибочно вместо (x [1] == - 2) имеет такое же следствие ».

Давайте будем гением компьютера.