R: ggplot: Error: Unknown parameters: bin width, pins, notepad

I want to make a very simple histogram with ggplot2. I have the following MWE:

library(ggplot2) mydf <- data.frame( Gene=c("APC","FAT4","XIRP2","TP53","CSMD3","BAI3","LRRK2","MACF1", "TRIO","SETD2","AKAP9","CENPF","ERBB4","FBXW7","NF1","PDE4DIP", "PTPRT","SPEN","ATM","FAT1","SDK1","SMG1","GLI3","HIF1A","ROS1", "BRDT","CDH11","CNTRL","EP400","FN1","GNAS","LAMA1","PIK3CA", "POLE","PRDM16","ROCK2","TRRAP","BRCA2","DCLK1","EVC2","LIFR", "MAST4","NAV3"), Freq=c(48,39,35,28,26,17,17,17,16,15,14,14,14,14,14,14,14,14,13, 13,13,13,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10, 10,10,10)) mydf ggplot(mydf, aes(x=Gene)) + geom_histogram(aes(y=Freq), stat="identity", binwidth=.5, alpha=.5, position="identity") 

I have always used this simple code to create such histograms.

In fact, I have a plot for this particular example, which I did some time ago ...

enter image description here

However, now I run this exact code and I get the following error:

Error: Unknown parameters: bin width, bins, panel

Why can I find this error now, and not earlier, and what does it mean?

Thanks a lot!

+5
source share
2 answers

geom_histogram () is no longer the most suitable way to build samples of discrete values.

Since you previously calculated your frequency values, use geom_col () instead, then all errors will disappear.

 library(ggplot2) mydf <- data.frame( Gene=c("APC","FAT4","XIRP2","TP53","CSMD3","BAI3","LRRK2","MACF1", "TRIO","SETD2","AKAP9","CENPF","ERBB4","FBXW7","NF1","PDE4DIP", "PTPRT","SPEN","ATM","FAT1","SDK1","SMG1","GLI3","HIF1A","ROS1", "BRDT","CDH11","CNTRL","EP400","FN1","GNAS","LAMA1","PIK3CA", "POLE","PRDM16","ROCK2","TRRAP","BRCA2","DCLK1","EVC2","LIFR", "MAST4","NAV3"), Freq=c(48,39,35,28,26,17,17,17,16,15,14,14,14,14,14,14,14,14,13, 13,13,13,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10, 10,10,10), stringsAsFactors = FALSE) mydf ggplot(mydf, aes(x=Gene, y=Freq)) + geom_col() + scale_x_discrete(limits = mydf$Gene) 

NB: it is also necessary to define the Gene column as not a factor, but scale_x_discrete () in order to avoid alphabetical ordering of the x axis.

-1
source

I would prefer to use dplyr (pipe operator) for a clear understanding of the code:

  mydf %>% #my data frame as.data.frame %>% #if mydf is not a dataframe ggplot(aes(x = Var, y = n)) + geom_bar( aes(y = n), stat = "identity", position = "identity") 
-4
source

Source: https://habr.com/ru/post/1244992/


All Articles