2014-11-01 150 views
-3

我试图为不同的子组堆叠直方图。这里是我的data.table:在R中叠加直方图:空光栅

> head(result) 
    persnr year  diff 
1: 61961225 1994 22.52241 
2: 62037645 1994 22.52241 

这里是结构:

> str(result) 
Classes ‘data.table’ and 'data.frame': 25213 obs. of 3 variables: 
$ persnr: num 61961225 62037645 62181514 62499451 62649247 ... 
$ year : int 1994 1994 1994 1994 1994 1994 1994 1994 1994 1994 ... 
$ diff : num 22.5 22.5 22.5 22.5 22.5 ... 
- attr(*, ".internal.selfref")=<externalptr> 

我尝试创建重叠的直方图,其中year标识群。我试图遵循两个不同的答案:[1][2],但都导致相同的错误 - 这是不可googleable。我的数据有什么问题/我需要适应什么?

> ggplot(result, aes(x=diff, fill=year)) + geom_histogram(position='identity') 
stat_bin: binwidth defaulted to range/30. Use 'binwidth = x' to adjust this. 
Error in grid.Call.graphics(L_raster, x$raster, x$x, x$y, x$width, x$height, : 
    Empty raster 

ggplot(result) + geom_histogram(aes(x=diff, fill=year), position='dodge') 
stat_bin: binwidth defaulted to range/30. Use 'binwidth = x' to adjust this. 
Error in grid.Call.graphics(L_raster, x$raster, x$x, x$y, x$width, x$height, : 
    Empty raster 
+0

也许,但令人惊讶的是,错误信息现在正在改变?我建议你在询问之前阅读ggplot2文档,如果你按照你中的2个链接提问,答案很简单。 – agstudy 2014-11-01 01:18:03

+0

这是不可重复的。请考虑修改您的问题,使其完全可重复,并确定结果应该是什么样子。 – 2014-11-01 08:14:03

+0

在没有数据的情况下知道发生了什么有点困难,但尝试使用'fill = factor(year)'而不是'fill = year'。 – jlhoward 2014-11-01 18:50:05

回答

1

错误消息提示连续组变量。离散它解决了这个问题:

ggplot(result, aes(x=diff, fill=factor(year))) + geom_histogram(position='identity')