我的数据有三个不同的变量,我试图用R和ggplot2绘制3个不同的直方图。我发现你可以使用y = .. count ../ sum(.. count ..)作为aes选项来规范化这些数据。但是,这并没有按照我想要的方式对其进行标准化。相反,我想将..count ...除以每个变量的观察数量。然而,虽然我的两个变量具有相同数量的观察结果,但我的最后一个变量没有。前两个变量有10700个观测值,而第三个变量有20000个观测值。
如果我将这两个变量分开,我可以生成正确的直方图,但我想将它们一起创建,以便我可以正确地比较它们。以下是我的两个变量的工作代码。
ggplot(data = melt(data_go), mapping = aes(x = value)) + geom_histogram(aes(y=..count../10600),breaks = seq(0,10,by = 1)) + facet_wrap(~variable, scales = 'free_x')
我的数据如下表所示,我使用第一行代码在R中制作直方图。这会为每个变量创建三个不同的直方图(这是正确的)。
ggplot(data = melt(data_go), mapping = aes(x = value)) + geom_histogram(aes(y=..count../sum(..count..)),breaks = seq(1,10,by = 1)) + facet_wrap(~variable, scales = 'free_x')
name variable value
1 Xetrov90024587m.L|Xelaev18044347m Avg_18_L_ 0.90018700
2 emb.L|Xelaev18008312m Avg_18_L_ 0.15418752
3 Xetrov90018247m.L|Xelaev18034878m Avg_18_L_ 0.56432320
4 elmod1.L|Xelaev18003296m Avg_18_L_ 0.07647218
5 pygm.L|Xelaev18026582m Avg_18_L_ 35.58034000
6 smu1.L|Xelaev18006121m Avg_18_L_ 65.81906000
TLDR:我如何计算每个变量的观察数量,并在命令中使用它来创建标准化的直方图(观察的数量/数量)?
答案 0 :(得分:0)
像这样的行,虽然你的里程可能会有所不同,因为我不清楚你的数据集是什么样的
#VALUE!