У меня есть следующий dataframe:IfElse заявление на основе grepl
address <- c("Weg", "Laan", "Molenweg")
b <- seq(1:3)
df <- data.frame(address, b)
То, что я хотел бы сделать сейчас, когда я вижу, содержит ли адрес определенное слово, а затем обозначить столбец. Так как это:
df_weg <- df$address
x <- c("weg")
df$test <- ifelse(grepl(x, df_weg), 1, 0)
Это прекрасно работает, но им ищет способ пометить элемент как 0/1, когда слово в списке. Так оно и должно работать так:
x <- c("weg", "laan")
df$test <- ifelse(grepl(x, df_weg), 1, 0)
Но когда я пытаюсь это я получаю следующее сообщение об ошибке:
Warning message:
In grepl(x, df_weg) :
argument 'pattern' has length > 1 and only the first element will be used
Есть thougts о том, как я могу получить эту работу?
Не можем ли мы просто 'as.integer (grepl (" weg laan ", df_weg))'? Или '+' унарный оператор, чтобы разозлить Конрада? –
@David Приятно думать, что я принимаю это лично. Но на самом деле я просто жалуюсь на плохой код. –
@ KonradRudolph, что мгновенная реакция вашего почти сделанного падения стула. Человек, ты потрясающий. –