我有一個文本文件,我想substring。我使用以下代碼來進行子串處理:r編程:多個substr
substr(text, start,start+end)
start有一個包含60個元素的向量。但是,上述代碼僅返回substr(text,1109,1109+199)
的等效值。我如何得到它返回所有60個要素,即
substr(text,1109,1109+199)
substr(text,11590,11590+199)
- ....
的樣本數據
start
[1] 11009 11590 11972 15674 16274 16659 19866 20541 20963 24787 25376
[12] 25746 29458 30011 30363 34086 34702 35087 38643 39095 39416 42626
[23] 43188 43545 46731 47367 47757 51029 51673 52072 55444 56076 56470
[34] 59794 60445 60851 64267 64877 65276 68659 69200 69547 72747 73303
[45] 73657 76896 77648 78103 81541 82050 82391 85277 85848 86227 89128
[56] 89656 90010 92830 93329 93656
end
[1] 199 199 199 201 201 201 218 218 218 186 186 186 177 177 177 192 192
[18] 192 160 160 160 178 178 178 194 194 194 200 200 200 197 197 197 205
[35] 205 205 200 200 200 174 174 174 178 178 178 235 235 235 171 171 171
[52] 190 190 190 179 179 179 169 169 169
你能提供一個最小的[reproducible](例如http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)嗎? – johannes 2012-07-12 07:05:13
也許使用mapply? '(mapply(FUN = function(x,y)substr(text,x,x + y),x = start,y = end)'(未測試)。 – 2012-07-12 07:22:35