Каково различие между '=' и' <-' в R? [дубликат]

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

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

102
задан Community 23 May 2017 в 12:26
поделиться

2 ответа

Из здесь :

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

60
ответ дан 24 November 2019 в 04:34
поделиться

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

«Оператор присваивания = , не путать с == , который является логическим оператором равенства. Более старый оператор присваивания - <- , и по соображениям совместимости он по-прежнему работает, но должен быть игнорируется для обеспечения более чистого программирования. (Как указано Spector, P. (2009). 'Data Manipulation with R' - Section 8.7., исключение составляет использование system.time , поскольку = затем используется для определения ключевых слов)

В булевых выражениях, таких как

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

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

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

вместо (x [1] == - 2) имеет те же последствия ».

14
ответ дан 24 November 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: