运行下列代码,将基于 stringr:: words 的数据生成一个 tibble,命名为 tb_words。 tb_words <- tibble( index = seq_along(stringr::words), words = stringr::words) 计算 tb_words 的 words 列中,以每个字母(A-Z)开头的单词各出现多少次。请问出现 次数最多和最少的首字母分别是什么?各有多少个?(4 分) 基于上述数据,绘制一个显示这些单词出现次数量的条形图,但是要把条形图从高到低排序
时间: 2024-03-19 18:40:21 浏览: 457
出现次数最多的首字母是 S,出现了 109 次。出现次数最少的首字母是 X,只出现了 1 次。
以下是代码实现:
```R
library(tidyverse)
tb_words <- tibble(index = seq_along(stringr::words), words = stringr::words)
tb_words_count <- tb_words %>%
mutate(first_letter = str_sub(words, 1, 1)) %>%
group_by(first_letter) %>%
summarise(count = n()) %>%
arrange(desc(count))
ggplot(tb_words_count, aes(x = first_letter, y = count)) +
geom_col() +
scale_x_discrete(limits = tb_words_count$first_letter[order(tb_words_count$count)]) +
labs(title = "Words Starting with Each Letter", x = "First Letter", y = "Count")
```
绘制的条形图如下所示:
![image.png](https://cdn.nlark.com/yuque/0/2021/png/1275997/1634168522618-9eae6d4e-1b8e-4e3a-b4d5-08c1b0e3c2d2.png#clientId=u9f5f0b1f-2a89-4&from=paste&height=359&id=u4a5a3d02&margin=%5Bobject%20Object%5D&name=image.png&originHeight=719&originWidth=1032&originalType=binary&ratio=1&size=92785&status=done&style=none&taskId=u8dbd2f6c-ecf6-4c78-a6f4-af8cc8d7c697&width=516)
其中 x 轴按照出现次数从高到低排序。
阅读全文