Я озадачен этим поведением в 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
Почему это просто не печатает "да", когда встречается четвертое слово? Что я должен изменить, чтобы иметь это желаемое поведение?