У меня есть следующий вектор Vec
: ACGTTGCA
и я хотел бы разделить его на вложенный вектор, в котором на i-й позиции будет подотрезок Vec
длины 4, начиная с i-й позиции Vec
.
Например, Vec[(⍳¯3+⍴Vec)∘.+¯1+⍳4]
возвращает:
ACGT
CGTT
GTTG
TTGC
TGCA
Но проблема с приведенным выше выводом заключается в том, что это символьная матрица, тогда как я хотел бы получить следующий вывод:
┌──────────────────────────┐
│┌────┬────┬────┬────┬────┐│
││ACGT│CGTT│GTTG│TTGC│TGCA││
│└────┴────┴────┴────┴────┘│
└──────────────────────────┘
Для следующей строки: vec←'Hy, only testing segmenting vec into pieces of 4'
правильным результатом того, что я ищу, будет:
┌→────────────────────────────────────────┐
│ ┌→───┐ ┌→───┐ ┌→───┐ ┌→───┐ │
│ │Hy, │ │y, o│ │, on│ │ onl│ (and so on) │
│ └────┘ └────┘ └────┘ └────┘ │
└∊────────────────────────────────────────┘
Кроме того, есть ли способ преобразовать такой вектор в один вектор, в котором последующие строки будут содержать 4 символа?
Пример: для вектора символов foobartesting
результатом будет:
foob
ooba
obar
bart
arte
rtes
test
esti
stin
ting