РЕДАКТИРОВАТЬ :
Не совсем уверен, что вы этого хотите, но вот попытка:
Данные :
Поскольку у вас также есть данные с ведущими нулями, вам необходимо преобразовать их в символ:
df <- data.frame(w = c("00000", "00001", "11100", "10010", "11000", "10000", "10100", "00100", "10001"))
Решение :
# variable for "1" in first position:
df$r1 <- ifelse(grepl("^1", df$w), 1, 0)
# variable for "1" in second position:
df$r2 <- ifelse(grepl("^\\d1", df$w), 1, 0)
# variable for "1" in third position:
df$r3 <- ifelse(grepl("^\\d{2}1", df$w), 1, 0)
# variable for "1" in fourth position:
df$r4 <- ifelse(grepl("^\\d{3}1", df$w), 1, 0)
# variable for "1" in fifth position:
df$r5 <- ifelse(grepl("^\\d{4}1", df$w), 1, 0)
Результат :
df
w r r2 r3 r4
1 00000 0 0 0 0
2 00001 0 0 0 1
3 11100 1 1 1 0
4 10010 1 0 0 0
5 11000 1 1 0 0
6 10000 1 0 0 0
7 10100 1 0 1 0
8 00100 0 0 1 0
9 10001 1 0 0 1