У меня есть следующий фрагмент кодаПонимание поведения логических индексов
x <- 20:1
x
x[c(T, F, NA)] <- 1
x
[1] 1 19 18 1 16 15 1 13 12 1 10 9 1 7 6 1 4 3 1 1
Я не понимаю, как сгенерирован результат. Я думал, что T = 1, F = 0, а NA рассматривается как ложное (так NA = 0).
Так я ожидал следующий результат:
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Может кто-нибудь объяснить мне, что R
делает? Есть ли какие-то скрытые «If ... then» -Statement? 20, 17, 14, 11, 8...
, по-видимому, True
, но почему?
Изучите 'help (" [")'. Там все объяснено. И вы не должны использовать R, не поняв большую часть контента на этой странице справки. – Roland
Обратите внимание на элементы, отличные от 'NA' в этом выражении: 'x [rep_len (c (T, F, NA), length (x))]'. – nrussell