मैं प्रकार बड़े SpatialPointsDataFrameST2 और ST10 नाम की दो वस्तुओं की है। वे एक ही स्रोत से आते हैं। वे के साथ समस्याओं के बिना दोनों की साजिश:ggplot geum_point में त्रुटि "पंक्तियों की भिन्न संख्या को इंगित करता है" त्रुटि देता है, जबकि यह सत्य नहीं है - डीबग कैसे करें?
plot(st2)
या
plot(st10)
लेकिन मैं उन्हें ggmap और ggplot साथ प्लॉट करने के लिए चाहते हैं। मैं इस तरह एक सरल कोड के साथ ST2 के लिए ऐसा कर सकते हैं:
map <- get_map(location = 'Poznań', zoom = 12)
ggmap(map) + geom_point(aes(x [email protected][,1], y = [email protected][,2]))
लेकिन जब यह ST10 की बात आती है मैं एक त्रुटि मिलती है:
Error in data.frame(x = c(16.910848618, 16.910863876, 16.910913467, 16.910936356, :
arguments imply differing number of rows: 53885, 4
मैं लंबाई के साथ मूल्यों की जाँच() :
> length([email protected][,1])
[1] 53885
> length([email protected][,2])
[1] 53885
मैं उन्हें सारांश()
+०१२३५१६४१०६१ के साथ जांच> summary([email protected][,1])
Min. 1st Qu. Median Mean 3rd Qu. Max.
16.84 16.88 16.91 16.91 16.91 16.99
> summary([email protected][,2])
Min. 1st Qu. Median Mean 3rd Qu. Max.
52.35 52.41 52.46 52.44 52.46 52.46
क्या गलत है? मेरे पास उन 20 एसपी डेटा फ्रेम हैं और कुछ साजिश अच्छी तरह से ऊपर उल्लिखित त्रुटि देते हैं ... यह अंक
से संबंधित नहीं है क्या गलत हो सकता है? या शायद कोई मुझे कुछ सुझाव दे सकता है कि मैं इसे कैसे डिबग कर सकता हूं?
आप में 'उदाहरण का अवलोकन करते हैं? ggmap' तो हो सकता है वहाँ सौंदर्यशास्त्र का एक उदाहरण किसी भी' से एक्स = colname' अन्य वाक्य रचना जहां 'colname' एक चर के नाम _just_ है द्वारा मैप किए जा रहे नहीं है कि यदि आप किसी अन्य डेटा स्रोत से अंक जोड़ना चाहते हैं, तो आप 'geom_point (data = ..., aes())' – joran
जैसे कुछ करेंगे ठीक है ... मैंने इसे ऐसा करने का प्रयास किया: 'geom_point (data = data.frame (lat = st10 @ coords [, 1], lon = lat = st10 @ coords [, 2]), aes()) 'और यह एक कामकाज के रूप में काम किया। लेकिन मैं अभी भी सोच रहा हूं कि यह क्यों है ** st2 ** के साथ जरूरी नहीं है? वे ggmap के लिए अलग कैसे हैं? फिर भी - धन्यवाद! – mrz
आप जो कर रहे थे वह केवल काम कर रहा था क्योंकि आप भाग्यशाली थे। 'एईएस() 'अपने तर्कों का कुछ विशेष मूल्यांकन करता है जो कि यदि आप अपने नियमों से नहीं खेलते तो तोड़ सकते हैं। 'एईएस()' का उद्देश्य डेटा फ्रेम में कॉलम के नामों का मूल्यांकन करना हमेशा होता है जिसे आप स्पष्ट रूप से उस परत तक पास करते हैं। '@' या '$' या '[' _ever_ 'aes()' के अंदर उपयोग न करें। – joran