Как я могу вернуть уникальное количество цифр в символьной строке в R?
У меня есть вектор строк с 24 цифрами в каждой. Каждая цифра представляет час, и если цифра равна "0", то применяется ставка с периода 0, а если цифра равна 1, то применяется ставка с периода 1.
В качестве примера рассмотрим две строки ниже. Я хотел бы вернуть количество периодов в каждой строке. Например:
str1 <- "000000000000001122221100"
str2 <- "000000000000000000000000"
#str1: 3
#str2: 1
Любые рекомендации? Я думал о том, как использовать str_count из stringr здесь. Кроме того, я искал другие сообщения, но большинство из них сосредоточено на подсчете букв в символьных строках, тогда как это небольшое изменение, потому что строка содержит цифры, а не буквы.
Спасибо!
2 ответа
Решение
Вот еще один вариант с помощью charToRaw
,
length(unique(charToRaw(str1)))
[1] 3
length(unique(charToRaw(str2)))
[1] 1
Это уродливое решение, но здесь идет
length(unique(unlist(strsplit(str1,split = ""))))