Меня озадачивает такое поведение в R. Я просто хочу провести простое сравнение строк списка строк, созданных strsplit. Так что не понимаю, почему следующие два первых фрагмента кода делают то, что я ожидал, а третий - нет.
> for (i in strsplit("A text I want to display with spaces", " ")) { print(i) }
[1] "A" "text" "I" "want" "to" "display" "with" "spaces"
Хорошо, в этом есть смысл ...
> for (i in strsplit("A text I want to display with spaces", " ")) { print(i=="want") }
[1] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
Хорошо, это тоже. Но что не так в следующей конструкции?
> for (i in strsplit("A text I want to display with spaces", " ")) { if (i=="want") print("yes") }
Warning message:
In if (i == "want") print("yes") :
the condition has length > 1 and only the first element will be used
Почему она просто не выводит «да», когда встречается четвертое слово? Что мне нужно изменить, чтобы получить желаемое поведение?