Я (должен) иметь данные фиксированной ширины, как это,
134265311
125255388
199265335
Я могу прочитать данные вот так,
first_ex <- readr::read_fwf("~/example_1.txt", fwf_widths(c(1, 2, 1, 2, 1, 2)))
first_ex
> first_ex
# A tibble: 3 x 6
X1 X2 X3 X4 X5 X6
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 34 2 65 3 11
2 1 25 2 55 3 88
3 1 99 2 65 3 35
X1, X3, X5
, то есть первые цифры (1, 2 и 3) исходных данных являются маркерами для следующего столбца.
Теперь у меня есть такие данные,
265311
125388
335
В первом ряду отсутствуют данные, связанные с маркером 1, данные второго ряда с маркером 2 и данные третьего ряда с рынком 1 и 2. Я хочу найти способ преобразования данных, как показано ниже,
> first_ex1
# A tibble: 3 x 6
X1 X2 X3 X4 X5 X6
<dbl> <chr> <dbl> <chr> <dbl> <dbl>
1 1 00 2 65 3 11
2 1 25 2 00 3 88
3 1 00 2 00 3 35
Любая помощь, предложения будут с благодарностью.
Добавление
Я пытаюсь реализовать предложение @ в следующем наборе данных, где l.group <- 16
и max.index <- 99
. Индекс начинается с 10 (2 цифры вместо 1).
values <- c("1300000190000148200000005000003099000002400001789800000050000030",
"1300000190000198290000003000001299000002200002109800000030000012",
"130000064000011499000006400001149800000000000000",
"1300000180000129330000003000002199000002100001509800000030000021",
"130000025000018099000002500001809800000000000000",
"13000001900000633100000020000002480000001000001699000002200000819800000030000018")
У меня нет вывода, который я хочу. Например. если маркер столбца равен 13, то соответствующий номер столбца должен быть V25 и V26. Но я вижу другое в выводе;
Как идеально вписать код в мои данные?