Zwiń wektor na ciąg znaków z odpowiednią liczbą kolejnych wystąpień

Chciałbym zwinąć wektor CIGAR na łańcuch CIGAR. Przez wektor CIGAR do String mam na myśli następujące:

Chcę funkcję, która konwertuje:

cigar.vector = c("M", "M", "I", "I", "M", "I", "", "M", "D", "D", "M", "I", "D", "M", "I")

do tego:

cigar.string = "2M2I1M1I1M2D1M1I1D1M1I"

i wzajemnie.

Zauważ, że istnieje „” (pusty znak), który się nie liczy. dzięki!

questionAnswers(1)

yourAnswerToTheQuestion