starts_with
используется для выбора столбцов, которые начинаются с определенного имени. Здесь вы можете использовать базу R startsWith
.
library(dplyr)
df %>% mutate(var2 = ifelse(startsWith(var1, "123"), "ok", "not ok"))
# var1 var2
#1 12345 ok
#2 12345 ok
#3 12345 ok
#4 23456 not ok
#5 23456 not ok
Однако мы также можем сделать это в базе R и без ifelse
.
df$var2 <- c('not ok', 'ok')[startsWith(df$var1, '123') + 1]
Или с grepl
df$var2 <- c('not ok', 'ok')[grepl('^123', df$var1) + 1]
data
startsWith
, чтобы данные были символьными, используйте stringsAsFactors = FALSE
.
df <- data.frame(var1 = c("12345", "12345", "12345", "23456", "23456"),
stringsAsFactors = FALSE)