[R] how to overlay two histograms

Jim Lemon drj|m|emon @end|ng |rom gm@||@com
Fri Sep 18 01:01:13 CEST 2020


Hi Ana,
Sorry it's not in ggplot, but it may help:

d<-read.table(text="CHR counts name
  1 193554  old
  2 220816  old
  3 174350  old
  4 163112  old
  5 168125  old
  6 182366  old
  7 143023  old
  8 147410  old
  9 122112  old
 10 138394  old
 11 130069  old
 12 124850  old
 13 104119  old
 14  83931  old
 15  72287  old
 16  71550  old
 17  58380  old
 18  76812  old
 19  37040  old
 20  63407  old
 21  33863  old
 22  33812  old
  1 202783  new
  2 252124  new
  3 213337  new
  4 201001  new
  5 207606  new
  6 228133  new
  7 147218  new
  8 177518  new
  9 121276  new
 10 163447  new
 11 158724  new
 12 142183  new
 13 111189  new
 14  83043  new
 15  61063  new
 16  55439  new
 17  32883  new
 18  69135  new
 19  16624  new
 20  48541  new
 21  25479  new
 22  19698  new",
header=TRUE,stingsAsFactors=FALSE)
barpos<-barplot(counts~name+CHR,data=d,beside=TRUE,names.arg=rep("",22))
legend(40,220000,c("new","old"),fill=c("gray20","gray80"))
library(plotrix)
staxlab(1,at=colMeans(barpos),labels=1:22)

Jim

On Fri, Sep 18, 2020 at 8:05 AM Ana Marija <sokovic.anamarija using gmail.com> wrote:
>
> Hello,
>
> I am trying to overlay two histograms with this:
>
> p <- ggplot(d, aes(CHR, counts, fill = name)) + geom_bar(position = "dodge")
> p
>
> but I am getting this error:
> Error: stat_count() can only have an x or y aesthetic.
> Run `rlang::last_error()` to see where the error occurred.
>
> my data is this:
>
> > d
>    CHR counts name
> 1    1 193554  old
> 2    2 220816  old
> 3    3 174350  old
> 4    4 163112  old
> 5    5 168125  old
> 6    6 182366  old
> 7    7 143023  old
> 8    8 147410  old
> 9    9 122112  old
> 10  10 138394  old
> 11  11 130069  old
> 12  12 124850  old
> 13  13 104119  old
> 14  14  83931  old
> 15  15  72287  old
> 16  16  71550  old
> 17  17  58380  old
> 18  18  76812  old
> 19  19  37040  old
> 20  20  63407  old
> 21  21  33863  old
> 22  22  33812  old
> 23   1 202783  new
> 24   2 252124  new
> 25   3 213337  new
> 26   4 201001  new
> 27   5 207606  new
> 28   6 228133  new
> 29   7 147218  new
> 30   8 177518  new
> 31   9 121276  new
> 32  10 163447  new
> 33  11 158724  new
> 34  12 142183  new
> 35  13 111189  new
> 36  14  83043  new
> 37  15  61063  new
> 38  16  55439  new
> 39  17  32883  new
> 40  18  69135  new
> 41  19  16624  new
> 42  20  48541  new
> 43  21  25479  new
> 44  22  19698  new
>
> Basically I need to show counts per CHR in "old" and "new" side by side.
>
> Please advise,
> Ana
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list