के साथ संयोजन में एईएस() के साथ डॉलर संकेत नोटेशन के साथ परिवर्तनीय गुजरते समय समस्या मैं एक परियोजना के लिए इस समय ggplot2 में कुछ विश्लेषण कर रहा हूं और मौके से मैं कुछ (मेरे लिए) अजीब व्यवहार जो मैं समझा नहीं सकता। जब मैं aes(x = cyl, ...)
लिखता हूं तो साजिश aes(x = mtcars$cyl, ...)
का उपयोग करके एक ही वैरिएबल पास करने पर यह अलग-अलग दिखती है। जब मैं facet_grid(am ~ .)
हटा देता हूं तो दोनों ग्राफ एक ही होते हैं। नीचे दिए गए कोड अपने प्रोजेक्ट में कोड है कि एक ही व्यवहार उत्पन्न करता है के बाद मॉडलिंग की है: facet_grid() या facet_wrap()
यहाँ ग्राफ 2 की तस्वीर है::
library(dplyr)
library(ggplot2)
data = mtcars
test.data = data %>%
select(-hp)
ggplot(test.data, aes(x = test.data$cyl, y = mpg)) +
geom_point() +
facet_grid(am ~ .) +
labs(title="graph 1 - dollar sign notation")
ggplot(test.data, aes(x = cyl, y = mpg)) +
geom_point()+
facet_grid(am ~ .) +
labs(title="graph 2 - no dollar sign notation")
यहाँ ग्राफ 1 की तस्वीर है
मुझे पता चला कि मैं के बजाय aes_string
का उपयोग करके इस समस्या के आसपास काम कर सकता हूं और चर नामों को तारों के रूप में पास कर सकता हूं, लेकिन मैं समझना चाहूंगा कि ggplot इस तरह से क्यों व्यवहार कर रहा है। समस्या facet_wrap
के साथ समान प्रयासों में भी होती है।
Thx अग्रिम में किसी भी मदद के लिए बहुत कुछ! मैं बहुत असहज महसूस करता है, तो मुझे लगता है कि ठीक से ...
संक्षिप्त उत्तर है: * * 'एईएस में $'() ' – baptiste
^_^सदमे मैं आज मिल गया जब मेरी ग्राफ अचानक सब अजीब लग रहा था के बाद, मैं यह काम नहीं चलेगा का उपयोग कभी नहीं' फिर से। फिर भी मैं समझना चाहता हूं कि क्या हो रहा है, क्योंकि मुझे इससे पहले कभी इस समस्या/व्यवहार का सामना नहीं हुआ। – Christoph
जब ggplot साजिश बनाता है, यदि प्रत्येक परत के लिए डेटासेट्स को समूह में विभाजित करता है, जो सौंदर्यशास्त्र और पहलू द्वारा परिभाषित किया जाता है।इस समूह को भरोसेमंद होने के लिए, आपको एक ही डेटा.फ्रेम से उत्पन्न होने वाले चर की आवश्यकता होती है, अन्यथा ggplot फ़ेसटिंग कारक और शेष मैपिंग के लिए एक अलग क्रम का उपयोग कर समाप्त हो सकता है। – baptiste