尝试 extract/count 字符串中的唯一字符(class 个字符)

Trying to extract/count the unique characters in a string (of class character)

您好,我想做的是计算字符串中唯一字符的数量。这是我的数据框的样子

Text            unique char count
banana              3
banana12            5
Ace@343             6

Upper/lower 案例并不重要,我想要得到的是输出中的唯一字符(数字,字母)

我已经尝试过独特的、不同的函数等,但是它们为列中的整个列提供输出,但我需要为每个相应的单元格提供输出,如上所示。

在基础 R 中你可以这样做:

df$char_count <- sapply(strsplit(df$Text, ""), function(x) length(unique(x)))

df
#>       Text char_count
#> 1   banana          3
#> 2 banana12          5
#> 3  Ace@343          6

数据

df <- data.frame(Text = c("banana", "banana12", "Ace@343"))

reprex package (v2.0.0)

于 2021-11-12 创建

你可以直接用regex来计算

df %>%
   mutate(char_count = str_count(Text, "(.)(?!.*\1)"))

      Text char_count
1   banana          3
2 banana12          5
3  Ace@343          6