在 R 中绘制直方图
Posted
技术标签:
【中文标题】在 R 中绘制直方图【英文标题】:Plotting Histograms in R 【发布时间】:2021-11-03 11:46:17 【问题描述】:我正在使用 R 并希望将“名称”列中每个名称的直方图绘制到 R 中的“分数”。任何见解都是有帮助的。
数据集
Name | Score |
---|---|
Anna | 40 |
David | 30 |
juli | 20 |
Anna | 20 |
David | 50 |
juli | 40 |
Anna | 20 |
David | 20 |
juli | 20 |
如何使用 R 绘制 anna、David 和 Juli 的直方图?
【问题讨论】:
一个建议只是 dput(df) 以便人们可以轻松地使用您的数据进行绘图或其他事情 【参考方案1】:类似的数据结构
set.seed(1234)
df <- data.frame(
sex=factor(rep(c("F", "M"), each=200)),
weight=round(c(rnorm(200, mean=55, sd=5), rnorm(200, mean=65, sd=5)))
)
head(df)
要绘制的代码
library(ggplot2)
# Basic histogram
ggplot(df, aes(x=weight)) + geom_histogram()
# Change the width of bins
ggplot(df, aes(x=weight)) +
geom_histogram(binwidth=1)
# Change colors
p<-ggplot(df, aes(x=weight)) +
geom_histogram(color="black", fill="white")
p
【讨论】:
【参考方案2】:数据:
df <- structure(list(Name = c("Anna", "David", "juli", "Anna", "David",
"juli", "Anna", "David", "juli"), Score = c("40", "30", "20",
"20", "50", "40", "20", "20", "20")), class = "data.frame", row.names = c(NA,
-9L))
情节。想法是使用facet_wrap
为Name
列中的每个唯一类别创建一个直方图。
library(ggplot2)
ggplot(df, aes(x = Score)) + geom_histogram(stat = "count") + theme_bw() +
facet_wrap(~Name)
【讨论】:
以上是关于在 R 中绘制直方图的主要内容,如果未能解决你的问题,请参考以下文章