我如何 return R中字符串中的唯一位数?

How can I return the unique number of digits in a character string in R?

我有一个字符串向量,每个字符串有 24 位数字。每个数字代表一个小时,如果数字为“0”,则适用第 0 期的费率;如果数字为 1,则适用第 1 期的费率。

例如,请考虑以下两个字符串。我想 return 每个字符串中的句点数。例如:

str1 <- "000000000000001122221100"
str2 <- "000000000000000000000000"

#str1: 3
#str2: 1

有什么建议吗?我一直在考虑如何在这里使用 stringr 中的 str_count 。此外,我搜索了其他帖子,但大多数帖子都专注于计算字符串中的字母,而这是一个轻微的修改,因为字符串包含数字而不是字母。

谢谢!

这是一个丑陋的解决方案,但这里是

length(unique(unlist(strsplit(str1,split = ""))))

这是使用 charToRaw 的另一种选择。

length(unique(charToRaw(str1)))
[1] 3
length(unique(charToRaw(str2)))
[1] 1