Сплит или отдельные неровные / неравные строки без разделителя

Учитывая данные кадраdf:

x <- c("X1", "X2", "X3", "X4", "X5")
y <- c("00L0", "0", "00012L", "0123L0", "0D0")
df <- data.frame(x, y)

Как я могу использоватьtidyr::separate поставить каждый символy строки в отдельный столбец (один столбец на позицию строки)?

Желаемый вывод:

x <- c("X1", "X2", "X3", "X4", "X5")
m1 <- c(0, 0, 0, 0, 0)
m2 <- c(0, NA, 0, 1, "D")
m3 <- c("L", NA, 0, 2, 0)
mN <- c(NA, NA, NA, NA, NA)
df <- data.frame(x, m1, m2, m3, mN)

Где mN теоретически может доходить до m100 (100 столбцов) или выше.

Ответы на вопрос(4)

Ваш ответ на вопрос