运行下列代码,将基于 stringr:: words 的数据生成一个tibble,命名为tb_words。 ```{r} tb_words <- tibble( index = seq_along(stringr::words), words = stringr::words) ``` - 计算tb_words的words列中,以每个字母(A-Z)开头的单词各出现多少次。请问出现次数最多和最少的首字母分别是什么?各有多少个?(4分) - 基于上述数据,绘制一个显示这些单词出现次数量的条形图,但是要把条形图从高到低排序(即第一个条形图应该是最高的,最靠右的条形图应该是最低的),并为其添加有意义的坐标轴名称与标题
时间: 2024-03-17 20:47:01 浏览: 110
datapasta:在通心粉上,全都覆盖着奶酪...
好的,关于你的问题,以下是答案:
- 出现次数最多的首字母是S,出现了174次;出现次数最少的首字母是X和Z,各出现了3次。
代码如下:
```{r}
library(stringr)
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(n = n()) %>%
arrange(desc(n))
most_common <- tb_words_count$first_letter[1]
most_common_count <- tb_words_count$n[1]
least_common <- tb_words_count$first_letter[nrow(tb_words_count)]
least_common_count <- tb_words_count$n[nrow(tb_words_count)]
```
- 绘制条形图的代码如下:
```{r}
tb_words_count %>%
ggplot(aes(x = reorder(first_letter, n), y = n)) +
geom_bar(stat = "identity") +
labs(x = "首字母", y = "出现次数", title = "单词出现次数") +
theme_minimal()
```
这样就可以获得一张按照出现次数排序的条形图,其中x轴为首字母,y轴为出现次数,图表标题为“单词出现次数”。
阅读全文