Я использую R 2.8.1, и можно использовать как =, так и <- как операторы присваивания переменных. Какая разница между ними? Какой из них я должен использовать?
Операторы < - и = присваивают в среду, в которой они оцениваются. Оператор < - может использоваться в любом месте, тогда как оператор = разрешен только на верхнем уровне (например, в полном выражении, введенном в командной строке) или в качестве одного из подвыражений в скобках списка выражений.
Ответ 2
Чтение из "Введение методов Монте-Карло с R", Роберт и Казелла:
"Оператор присваивания =, не следует путать с ==, который является логическим оператором для равенства. Более старый оператор присваивания <-, и по соображениям совместимости он по-прежнему остается функциональным, но он следует игнорировать, чтобы обеспечить более чистое программирование.
(Как указано Spector, P. (2009). "Манипуляция данными с R" - раздел 8.7. Исключение составляет при использовании system.time, так как = используется для определения ключевых слов)
Недопустимая функция оператора присваивания < - находится в булевом
такие выражения, как
> if (x[1]<-2) ...
который должен проверить, является ли x [1] меньше, чем -2, но заканчивается
up выделяя 2 на x [1], стирая его текущее значение! Также обратите внимание, что использование
> if (x[1]=-2) ...
ошибочно вместо (x [1] == - 2) имеет такое же следствие. "