2016-03-14 28 views
5

ggplot2で非常に単純なヒストグラムを作成したいと思います。私は以下のMWEを持っています:R:ggplot:エラー:不明なパラメータ:binwidth、bin、pad

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") 

私はいつもこの種のヒストグラムを生成するためにこの単純なコードを使用してきました。実際に、私はいくつかの時間前に作られたこの特定の例のためのプロットを持って

は...

enter image description here

はしかし、今、私はこの正確な同じコードを実行し、私は次のエラーを取得します:

Error: Unknown parameters: binwidth, bins, pad

なぜこのエラーが発生したのですか?

ありがとうございます!

+0

元のプロットから入力データが変更されましたか? –

+0

変更なし、私は実際にこのMWEの古いコードからコピーしました – DaniCee

+0

ggplot2_に変更が導入されましたか?そのデータでそのプロットを再現する正しい方法は何でしょうか? – DaniCee

答えて

-4

私はむしろコードを明確に理解するためにdplyr(パイプ演算子)を使用します。

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") 
+2

私はパイプオペレータの大ファンでもあります。 –

+2

これは質問に答えません – DataTx

-1

geom_histogram()はもはや離散値の数をプロットするための最も適切な方法ではありません。

頻度値をあらかじめ計算しておけば、代わりにgeom_col()を使用すると、すべてのエラーが表示されなくなります。

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:また、x軸のアルファベット順を避けるために)ない要因とscale_x_discrete(としてあなたの遺伝子列を定義する必要があります。

関連する問題