Код R: что делает эта комбинация% в% и <-? - PullRequest
0 голосов
/ 07 октября 2019
data[data[["Id"]] %in% current[["Id"]], "Type"] <- "TRANS"

Я в замешательстве, потому что, кажется, есть условное выражение: data[data[["Id"]] %in% current[["Id"]], "Type"] в сочетании с присвоением строки: <- "TRANS"

1 Ответ

1 голос
/ 07 октября 2019

Это называется «назначение». Когда data[i, j] помещается с левой стороны от <-, подмножество выбранного data заменяется с правой стороны от <-. Или, перефразируя как в документах:

help('[')

Индексирование может происходить в правой части выражения для извлечения или в левой части для замены. Когда индексное выражение появляется в левой части присваивания (так называемого поднабора), тогда для этой части x устанавливается значение в правой части присваивания

Так что происходящее здесь связано сдо [] и <-, которые будут объединены, и это произойдет независимо от функции (%in%, seq, + и т. д.), используемой для получения i или j части data[i, j]. Тот факт, что %in% используется, на самом деле не имеет никакого влияния, потому что он делает то же самое, что и без присваивания <-, то есть создает логический вектор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...