我有以下向量Vec
: ACGTTGCA
并希望将它分成一个嵌套向量,其中第i个位置将有一个长度为4的Vec
的子段,从Vec
的第i位。将字符向量分成段
例如,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
谢谢,我知道必须有一个更容易(和更快)的解决方案。 – syntagma
顺便说一句,有没有办法做类似的事情,即创建一个单一的向量看起来像这样:'foob \ nooba \ nobar \ n(...)\ nting'(编辑我的问题,以显示我所要求的) ? – syntagma
只需使用monadic⊃即可。这将获取数组的列表并从中创建一个二维数组。也就是说,简单地做'⊃4','foobartesting''应该这样做。我不知道是否应该更新答案来涵盖此问题? –