Я знаю синтаксис с IF
заявления в R:Почему синтаксис `intersect` не работает в R в` if statement`?
if (1==1){
print("this is true")
}
И я знаю, что материал между ()
должен быть оценен на логический. Так что, когда я пытаюсь это:
if (intersect(list(1),list(1,2)) != list()){
print("this is also true")
}
Я ожидал, что это работает, так как intersect(list(1),list(1,2)) != list()
оценивается как логический тип:
intersect(list(1),list(1,2)) == list()
я делаю что-то явно не так? Благодарю.
Логический вектор должен иметь длину 1, что не так. Вы можете проверить длину (пересечь (список (1), список (1,2)))> 0'. – Roland
Логический * тип *, да, но нулевая длина. Это выражение должно оцениваться как «TRUE», так и «FALSE». –
Вы не спрашиваете в этом случае, если длина пересечения равна нулю (как в 'length (intersect (list (1), list (1,2))) == 0')? При сравнении списков он не отображается, он поддерживается, как в 'list (1,2) == list (1,2)' дает ошибку 'Ошибка в списке (1, 2) == list (1, 2): сравнение этих типов не реализовано. – steveb