ggplot2 概率直方图或多边形比较分布
ggplot2 Probability Histogram or Polygon to compare distributions
我正在尝试比较不同数据集的第一位数字分布,但我找不到任何方法(或指南)来使用 ggplot2 来演示它们。每个人都使用带有 "raw data" 的例子,而不是概率。这是我的一些数据:
这是所需的第一位数字分布(我的基准):
0.30103000 0.17609126 0.12493874 0.09691001 0.07918125 0.06694679 0.05799195 0.05115252 0.04575749
这是两个数据集的第一个数字分布:
0.37101911 0.17515924 0.08917197 0.08121019 0.06210191 0.06050955 0.07484076 0.03662420 0.04936306
0.524419536 0.253002402 0.092073659 0.032826261 0.025620496 0.019215372 0.008807046 0.012009608 0.032025620
以上概率对应于第一个数字为 1, 2,..., 9 的概率。
下面是我用来查找上述概率的包的发布者绘制的图:
1st Dataset first-digit Distribution (the red line is my "benchmark")
因为你有 pre-calculated 个概率,你可以用 geom_line
绘制它们。
dat = read.table(text="0.30103000 0.17609126 0.12493874 0.09691001 0.07918125 0.06694679 0.05799195 0.05115252 0.04575749
0.37101911 0.17515924 0.08917197 0.08121019 0.06210191 0.06050955 0.07484076 0.03662420 0.04936306
0.524419536 0.253002402 0.092073659 0.032826261 0.025620496 0.019215372 0.008807046 0.012009608 0.032025620", header=FALSE)
dat = setNames(as.data.frame(t(dat)), c("Reference", "D1","D2"))
dat$digits = 1:9
library(ggplot2)
library(reshape2)
ggplot(melt(dat, id.var="digits"), aes(digits, value, colour=variable)) +
geom_point() +
geom_line(aes(size=variable)) +
theme_bw() +
scale_x_continuous(breaks=1:9) +
scale_size_manual(values=c(1.2,0.5,0.5)) +
scale_colour_manual(values=c("black",hcl(c(15,195),100,65))) +
labs(x="First Digit", y="Probability", colour="", size="")
我正在尝试比较不同数据集的第一位数字分布,但我找不到任何方法(或指南)来使用 ggplot2 来演示它们。每个人都使用带有 "raw data" 的例子,而不是概率。这是我的一些数据:
这是所需的第一位数字分布(我的基准):
0.30103000 0.17609126 0.12493874 0.09691001 0.07918125 0.06694679 0.05799195 0.05115252 0.04575749
这是两个数据集的第一个数字分布:
0.37101911 0.17515924 0.08917197 0.08121019 0.06210191 0.06050955 0.07484076 0.03662420 0.04936306
0.524419536 0.253002402 0.092073659 0.032826261 0.025620496 0.019215372 0.008807046 0.012009608 0.032025620
以上概率对应于第一个数字为 1, 2,..., 9 的概率。
下面是我用来查找上述概率的包的发布者绘制的图:
1st Dataset first-digit Distribution (the red line is my "benchmark")
因为你有 pre-calculated 个概率,你可以用 geom_line
绘制它们。
dat = read.table(text="0.30103000 0.17609126 0.12493874 0.09691001 0.07918125 0.06694679 0.05799195 0.05115252 0.04575749
0.37101911 0.17515924 0.08917197 0.08121019 0.06210191 0.06050955 0.07484076 0.03662420 0.04936306
0.524419536 0.253002402 0.092073659 0.032826261 0.025620496 0.019215372 0.008807046 0.012009608 0.032025620", header=FALSE)
dat = setNames(as.data.frame(t(dat)), c("Reference", "D1","D2"))
dat$digits = 1:9
library(ggplot2)
library(reshape2)
ggplot(melt(dat, id.var="digits"), aes(digits, value, colour=variable)) +
geom_point() +
geom_line(aes(size=variable)) +
theme_bw() +
scale_x_continuous(breaks=1:9) +
scale_size_manual(values=c(1.2,0.5,0.5)) +
scale_colour_manual(values=c("black",hcl(c(15,195),100,65))) +
labs(x="First Digit", y="Probability", colour="", size="")