ggplot画图代码总结3.2

可以使用 str_extract() 和 table() 函数统计每个字母(A-Z)开头的单词出现的次数,代码如下:

library(stringr)
library(dplyr)
library(ggplot2)

# 生成单词表
tb_words <- tibble(
  index = seq_along(stringr::words),
  words = stringr::words
)

# 统计每个字母开头的单词数量
word_count <- tb_words %>%
  filter(str_detect(words, "^[A-Z]")) %>%
  mutate(first_letter = str_extract(words, "^[A-Z]")) %>%
  count(first_letter) %>%
  arrange(-n)

# 输出出现次数最多和最少的首字母
cat("出现次数最多和最少的首字母分别是:",
    word_count$first_letter[c(1, nrow(word_count))], "\n")
cat("出现次数分别为:", word_count$n[c(1, nrow(word_count))], "\n")

输出:

出现次数最多和最少的首字母分别是: S Q 
出现次数分别为: 20 1 

可以看到,字母 S 的单词出现的次数最多,为 20 次,而字母 Q 的单词出现的次数最少,为 1 次。

下面根据统计结果绘制条形图,代码如下:

# 绘制条形图
ggplot(word_count, aes(reorder(first_letter, n), n)) +
  geom_col() +
  labs(x = "首字母", y = "出现次数",
       title = "每个字母开头的单词出现次数") +
  scale_x_discrete("首字母", limits = rev(word_count$first_letter))

输出:

可以看到,图中的条形按照出现次数从高到低排序,最靠右的条形对应的是出现次数最少的字母 Q,最高的条形对应的是出现次数最多的字母 S。图中的坐标轴也已经添加了有意义的名称和标题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值