У меня был опыт программирования в течение нескольких лет, но я относительно новичок в R. Я столкнулся с неожиданным результатом, когда пытался извлечь запись из массива, используя массив логических записей:
array = c(2, 3, 4, 5);
array[c(FALSE, FALSE, FALSE, TRUE)]
#output: [1] 5
array[c(0, 0, 0, 1)]
#output: [1] 2
Это меня удивило, так как я думал, что ЛОЖЬ и 0 взаимозаменяемы (аналогично ИСТИНА и 1) в такого рода процессах. Я проверил следующее, чтобы убедиться, и стал еще более запутанным:
T==1
#output: [1] TRUE
F==0
#output: [1] TRUE
c(0,0,0,1)==c(F,F,F,T)
#output: [1] TRUE TRUE TRUE TRUE
Может ли кто-нибудь помочь объяснить, почему R по-разному относится к этим методам индексации?
Большое спасибо,