Какая разница между `=` и `<-` в R?
Возможный дубликат:
Операторы присваивания в R: '=' и '< -'
Я использую R 2.8.1, и можно использовать как =
, так и <-
как операторы присваивания переменных. Какая разница между ними? Какой из них я должен использовать?
Ответы
Ответ 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) имеет такое же следствие. "