Многие способы сделать это:
mtcars$X <- +(startsWith(rownames(mtcars), 'M'))
Вы также можете использовать grepl
/ str_detect
:
mtcars$X <- as.integer(grepl('^M', rownames(mtcars)))
mtcars$X <- as.integer(stringr::str_detect(rownames(mtcars), '^M'))
Два приведенных выше примера аналогичны использованию ifelse
:
mtcars$X <- ifelse(grepl('^M', rownames(mtcars)), 1, 0)
, но они более эффективны, чем использование ifelse
.