Предположим, у меня есть следующий RLE объект:Split объект RLE
r = rle(c(rep("M",28),rep("N",4265),rep("M",16),rep("S",2),rep("N",400),rep("M",10)));
И я хочу, чтобы разбить его на следующий вектор строк:
a = c("28M","4265N","16M2S","400N","10M");
Значение отрываю значения «N» и не «N» и их соответствующие длины в отдельные элементы в векторе.
Обратите внимание, что все не Ns вставляются вместе, поэтому результат имеет «16M2S», а не «16M» «2S».
Что было бы самым эффективным способом сделать это?
Есть ряд функций для работы с сигарами в [Bioconductor] (http://bioconductor.org) [GenomicRanges] (http://bioconductor.org/packages/release/bioc/html/GenomicRanges.html), с немного кривой обучения, но довольно обширные справочные страницы, например, '? CigarToRleList',' cigar ' –
не нужно заканчивать строки точкой с запятой в R. – Frank