拆分一个字符串并找到出现的百分比
Split a string and find the occurrence percentage
我有一个矢量值,其中分隔符是 '
,我想找到每个文本的出现。如何解决这个问题?非常感谢。
val1 <- c("ab, cd, ef", "", "gh", "ab")
预期答案
ab cd ef gh
40% 20% 20% 20%
library(tidyverse)
val1 %>%
str_split(pattern = ", ") %>%
unlist %>%
tibble(strings = . ) %>%
filter(strings != "") %>%
count(strings) %>%
mutate(perc = n / sum(n))
# A tibble: 4 x 3
strings n perc
<chr> <int> <dbl>
1 ab 2 0.4
2 cd 1 0.2
3 ef 1 0.2
4 gh 1 0.2
在基数 R 中:
tab <- table(trimws(unlist(strsplit(val1, ","))))
100 * tab / sum(tab)
#>
#> ab cd ef gh
#> 40 20 20 20
由 reprex package (v2.0.1)
创建于 2022-05-10
我有一个矢量值,其中分隔符是 '
,我想找到每个文本的出现。如何解决这个问题?非常感谢。
val1 <- c("ab, cd, ef", "", "gh", "ab")
预期答案
ab cd ef gh
40% 20% 20% 20%
library(tidyverse)
val1 %>%
str_split(pattern = ", ") %>%
unlist %>%
tibble(strings = . ) %>%
filter(strings != "") %>%
count(strings) %>%
mutate(perc = n / sum(n))
# A tibble: 4 x 3
strings n perc
<chr> <int> <dbl>
1 ab 2 0.4
2 cd 1 0.2
3 ef 1 0.2
4 gh 1 0.2
在基数 R 中:
tab <- table(trimws(unlist(strsplit(val1, ","))))
100 * tab / sum(tab)
#>
#> ab cd ef gh
#> 40 20 20 20
由 reprex package (v2.0.1)
创建于 2022-05-10