R语言使用ggplot2绘制骰子投掷直方图后如何统计特定点数出现次数
骰子点数出现次数统计实现方法
单个特定点数统计
最简便的方式是通过逻辑判断加求和实现,R中布尔值TRUE会被识别为1、FALSE识别为0,直接对判断结果求和即可得到目标点数的出现次数:
# 替换为你要统计的目标点数,比如统计点数3就改为3 target <- 6 count <- sum(vec == target)
你也可以直接从数据框中统计,逻辑和上面一致:
count <- sum(df$Dice == target)
所有点数批量统计
如果需要一次性得到6个点数各自的出现次数,直接调用table()函数即可:
# 输出结果会直接展示每个点数对应的出现次数 point_counts <- table(vec)
补充优化建议
骰子点数是离散值,你原来的绘图代码使用geom_histogram需要手动设置bins,更适合的绘图函数是geom_bar,它会自动统计每个离散值的出现次数,不需要额外参数配置,可直接得到每个点数的次数柱状图:
library(ggplot2) N <- 10000 Dice_Throws <- function(N) { Collected_Result <- sample(x = 1:6, size = N, replace = TRUE) return(Collected_Result) } vec <- Dice_Throws(N) df <- data.frame(Dice = vec) ggplot(df, aes(x = factor(Dice))) + geom_bar(fill = "skyblue") + xlab("骰子点数") + ylab("出现次数")
内容的提问来源于stack exchange,提问作者wrawrs
相关产品推荐
相关产品推荐

