2016-03-14 2 views
5

Я хочу сделать очень простую гистограмму с ggplot2. У меня есть следующий MWE:R: ggplot: Ошибка: Неизвестные параметры: binwidth, bins, 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: Кроме того, необходимо определить свой столбец гена, а не фактор и scale_x_discrete(), чтобы избежать алфавитный порядок оси абсцисс.

 Смежные вопросы

  • Нет связанных вопросов^_^