आर में अगल-बगल की तरफ एक बारप्लॉट आरेख कैसे बनाया जाए


9

मैं इन डेटा के लिए R (एक CVS फ़ाइल से पढ़ें) के लिए एक बार्डिग्राम बनाना चाहता हूं:

प्रयोग_Name MetricA MetricB Just_X 2 10 Just_X_and_Y 3 20

निम्नलिखित आरेख के लिए:

वैकल्पिक शब्द

मैं शुरुआत कर रहा हूं और मुझे यह भी नहीं पता कि मैं कैसे शुरू करूं।


1
मदद फ़ाइल पढ़ने कभी कभी एक मंच पर पोस्ट करने की तुलना में तेज है ...
RockScience

आपको पहले यह पता लगाना होगा कि बार्प्लॉट्स बार्प्लॉट फ़ंक्शन द्वारा बनाए गए हैं ... यह इतना आसान नहीं है जब आप यह नहीं जानते हैं।

यह प्रश्न का उत्तर प्रदान नहीं करता है। किसी लेखक से स्पष्टीकरण मांगने या उसका अनुरोध करने के लिए, उनके पोस्ट के नीचे एक टिप्पणी छोड़ दें।
kjetil b halvorsen

जवाबों:


13

मुझे लगता है कि आप अपने डेटा को आर read.table()या शॉर्ट-हैंड read.csv()फ़ंक्शन के साथ आयात करने में सक्षम हैं । फिर आप उदाहरण के लिए , tableया meanनीचे दिए गए किसी भी सारांश कार्य को लागू कर सकते हैं:

x <- replicate(4, rnorm(100))
apply(x, 2, mean)

या

x <- replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)

विचार सारांश मूल्यों के लिए एक मैट्रिक्स या तालिका के साथ समाप्त करना है जिसे आप प्रदर्शित करना चाहते हैं।

चित्रमय आउटपुट के लिए, barplot()विकल्प के साथ फ़ंक्शन को देखें beside=TRUE, जैसे

barplot(matrix(c(5,3,8,9),nr=2), beside=T, 
        col=c("aquamarine3","coral"), 
        names.arg=LETTERS[1:2])
legend("topleft", c("A","B"), pch=15, 
       col=c("aquamarine3","coral"), 
       bty="n")

spaceतर्क juxtaposed सलाखों के बीच एक अतिरिक्त स्थान जोड़ने के लिए इस्तेमाल किया जा सकता।

वैकल्पिक शब्द


13

यहाँ ggplot संस्करण:

library(ggplot2)
df = melt(data.frame(A=c(2, 10), B=c(3, 20), 
          experiment=c("X", "X & Y")),
          variable_name="metric")

ggplot(df, aes(experiment, value, fill=metric)) + 
       geom_bar(position="dodge")

वैकल्पिक शब्द


2
मुझे आशा है कि आपको कोई आपत्ति नहीं है, लेकिन मैंने आपके आदेशों का आउटपुट जोड़ा है।
csgillespie

@csgillespie कोई समस्या नहीं :)
teucer

1

मैं reshape2 को प्रतिबिंबित करने के लिए शिक्षक के उत्तर को अपडेट करना चाहता था।

library(ggplot2)
library(reshape2)
df = melt(data.frame(A=c(2, 10), B=c(3, 20), 
                 experiment=c("X", "X & Y")),
      variable.name="metric")

ggplot(df, aes(experiment, value, fill=metric)) + 
  geom_bar(position="dodge",stat="identity")

ध्यान दें कि टीचर का उत्तर "त्रुटि में त्रुटि उत्पन्न करता है (expr, envir, बाड़े): reshape2 के साथ ऑब्जेक्ट 'मेट्रिक' नहीं मिला" क्योंकि reshape2 वेरिएबल_नाम के बजाय वेरिएबल का उपयोग करता है।

मैंने यह भी पाया कि मुझे geom_bar फ़ंक्शन में स्टेट = "पहचान" जोड़ने की आवश्यकता थी क्योंकि अन्यथा इसने "त्रुटि: एक वैरिएबल को y में मैप करना और स्टेट =" बिन "का भी उपयोग किया।"

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.