相关疑难解决方法(0)

需要从ggplot geom_histogram中提取数据

您好我使用数据框中的ggplot2 geom_histogram函数绘制了一个图,请参阅下面的示例并链接到ggplot直方图需要使用嵌套的ddply函数和facet wrap来标记每个geom_vline的因子

现在我需要创建一个包含上图中使用的汇总数据的数据框.有人可以帮忙吗?提前致谢.G

Sector2 Family  Year    Length
BUN Acroporidae 2010    332.1300496
BUN Poritidae   2011    141.1467966
BUN Acroporidae 2012    127.479
BUN Acroporidae 2013    142.5940556
MUR Faviidae    2010    304.0405
MUR Faviidae    2011    423.152
MUR Pocilloporidae  2012    576.0295
MUR Poritidae   2013    123.8936667
NTH Faviidae    2010    60.494
NTH Faviidae    2011    27.427
NTH Pocilloporidae  2012    270.475
NTH Poritidae   2013    363.4635
Run Code Online (Sandbox Code Playgroud)

r histogram ggplot2

34
推荐指数
3
解决办法
1万
查看次数

内部的功能

问题:为什么我不能sapply在里面打电话aes()

下图的目标:创建显示死亡/生活比例的直方图,以便每个组/类型组合的比例总和为1(示例受前一篇文章启发).

我知道你可以通过在外面总结来制作这个数字,ggplot但问题实际上是为什么函数不能在其中工作aes.

## Data
set.seed(999)
dat <- data.frame(group=factor(rep(1:2, 25)),
                  type=factor(sample(1:2, 50, rep=T)),
                  died=factor(sample(0:1, 50, rep=T)))

## Setup the figure
p <- ggplot(dat, aes(x=died, group=interaction(group, type), fill=group, alpha=type)) +
  theme_bw() +
  scale_alpha_discrete(range=c(0.5, 1)) +
  ylab("Proportion")

## Proportions, all groups/types together sum to 1 (not wanted)
p + geom_histogram(aes(y=..count../sum(..count..)), position=position_dodge())
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

## Look at groups
stuff <- ggplot_build(p)
stuff$data[[1]]

## The long way works: proportions by group/type
p + geom_histogram(
    aes(y=c(..count..[..group..==1] / …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

19
推荐指数
2
解决办法
1322
查看次数

标签 统计

ggplot2 ×2

r ×2

histogram ×1