R:创建 ggplot 直方图以镜像 freq() 函数
R: Creating ggplot histograms to mirror freq() function
我正在尝试使用 ggplot 创建条形图(或直方图)以反映 descr
包中的 freq
函数(其中变量中的每个离散值都有自己的列在频率图中,x-ais 刻度以每个值为中心),但我在让它工作时遇到了一些麻烦。
这是我要创建的内容(但使用 ggplot,所以我可以使用它漂亮的图形):
library(ggplot2)
library(descr)
variable <- c(0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 7)
df <- data.frame(variable)
freq(df$variable)
这是我尝试(但失败了)在 ggplot 中做同样的事情:
histo.variable <- ggplot(df, aes(x = variable)) + # create histogram
geom_bar(stat = "bin") +
xlab("Variable Value") +
ylab("Count") +
scale_x_continuous(breaks = scales::pretty_breaks(n = 10))
histo.variable
如您所见,条形图并未以刻度线为中心。 (此外,去掉条形之间的小半线会很棒。)
感谢任何能提供帮助的人!
可能是这样的:
ggplot(df, aes(x = variable)) +
geom_histogram(aes(y = ..density..),
binwidth = 1,
colour = "blue", fill = "lightblue")
我正在尝试使用 ggplot 创建条形图(或直方图)以反映 descr
包中的 freq
函数(其中变量中的每个离散值都有自己的列在频率图中,x-ais 刻度以每个值为中心),但我在让它工作时遇到了一些麻烦。
这是我要创建的内容(但使用 ggplot,所以我可以使用它漂亮的图形):
library(ggplot2)
library(descr)
variable <- c(0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 7)
df <- data.frame(variable)
freq(df$variable)
这是我尝试(但失败了)在 ggplot 中做同样的事情:
histo.variable <- ggplot(df, aes(x = variable)) + # create histogram
geom_bar(stat = "bin") +
xlab("Variable Value") +
ylab("Count") +
scale_x_continuous(breaks = scales::pretty_breaks(n = 10))
histo.variable
如您所见,条形图并未以刻度线为中心。 (此外,去掉条形之间的小半线会很棒。)
感谢任何能提供帮助的人!
可能是这样的:
ggplot(df, aes(x = variable)) +
geom_histogram(aes(y = ..density..),
binwidth = 1,
colour = "blue", fill = "lightblue")