尝试 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
您好,我想做的是计算字符串中唯一字符的数量。这是我的数据框的样子
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