Geom_bar ggplot2 में रिड्यूसर बार


119

मैं एक बार-प्लॉट बनाने की कोशिश कर रहा हूं, जहां प्लॉट miRNAउच्चतम valueसे miRNAसबसे कम के साथ ऑर्डर किया गया है । मेरा कोड काम क्यों नहीं करता है?

> head(corr.m)

        miRNA         variable value
1    mmu-miR-532-3p      pos     7
2    mmu-miR-1983        pos    75
3    mmu-miR-301a-3p     pos    70
4    mmu-miR-96-5p       pos     5
5    mmu-miR-139-5p      pos    10
6    mmu-miR-5097        pos    47

ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + 
  geom_bar(stat="identity")

जवाबों:


216

आपका कोड ठीक काम करता है, सिवाय इसके कि बारप्लोट को कम से उच्च तक ऑर्डर किया जाता है। जब आप उच्च से निम्न स्तर पर बार ऑर्डर करना चाहते हैं, तो आपको -पहले एक संकेत जोड़ना होगा value:

ggplot(corr.m, aes(x = reorder(miRNA, -value), y = value, fill = variable)) + 
  geom_bar(stat = "identity")

जो देता है:

यहां छवि विवरण दर्ज करें


प्रयुक्त डेटा:

corr.m <- structure(list(miRNA = structure(c(5L, 2L, 3L, 6L, 1L, 4L), .Label = c("mmu-miR-139-5p", "mmu-miR-1983", "mmu-miR-301a-3p", "mmu-miR-5097", "mmu-miR-532-3p", "mmu-miR-96-5p"), class = "factor"),
                         variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "pos", class = "factor"),
                         value = c(7L, 75L, 70L, 5L, 10L, 47L)),
                    class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6"))

यह किसी कारण से मेरे प्लॉट में आदेशित नहीं होता है
user3741035

@ user3741035 अजीब। क्या आपने इसे ऊपर या पूरे डेटासेट पर दिए गए नमूना डेटासेट पर उपयोग किया है?
जाप

R & ggplot के कौन से संस्करण का उपयोग कर रहे हैं? क्या आप एक बड़ा नमूना डेटासेट भी कर सकते हैं (अधिमानतः एक से अधिक मूल्य के साथ variable)?
जाप

6
समाधान मिला: मैंने लाइब्रेरी (gplots) लोड की थी, जो चीजों को गड़बड़ कर रही थी
user3741035

1
@ मयका यह मुझे सही परिणाम दे रहा है (दोनों OSX 10.10.4 / विंडोज 7, आर 3.2.3 और ggplot2 2.1.0 पर)। शायद आपको एक नए सत्र से शुरू करना चाहिए?
जाप
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.