में एक चरित्र वेक्टर को शामिल करने के लिए क्षमा करें, क्रिप्टिक शीर्षक के लिए मुझे अपनी समस्या के लिए कोई बेहतर सारांश नहीं मिला। तो यहाँ मेरी समस्या है: मैं एक dataframe है और समूहों जो ठीक काम करता है से अधिक diff()
बनाना चाहते:, मैं अपने परिणाम में index
शामिल करना चाहते हैं जोddply: परिणाम
df <- data.frame (name = rep(c("a", "b", "c"), 4),
index = rep(c("c1", "c2"), each=6),
year = rep(c(2008:2010),4),
value = rep(1:3, each=4))
head(df)
name index year value
1 a c1 2008 1
2 b c1 2009 1
3 c c1 2010 1
ddply(df, .(name, year), summarize, value=diff(value))
हालांकि मैं के साथ करने की कोशिश की:
ddply(df, .(name, year), summarize, value=diff(value), index=index)
length(rows) == 1 is not TRUE
है कौन सा क्योंकि सूचकांक अधिक पंक्तियां हैं मुझे लगता है कि क्योंकि यहद्वारा संसाधित नहीं है:
फिर भी यह त्रुटि संदेश पैदावार। क्या मेरी समस्या का कोई त्वरित समाधान है?
बहुत बहुत धन्यवाद!
संपादित
मैं मेरे सवाल का मैं क्या परिणाम में जोड़ना चाहते हैं स्पष्ट करने के लिए प्रयास करें:
ऊपर मान लीजिए चर index
। यह एक कारक है जिसे कुछ समझाना चाहिए। फिर भी, मैं diff()
नहीं ले सकता जो समझ में नहीं आता है इसलिए मैं इसे किसी भी चीज़ को बदले बिना पास करना चाहता हूं। मैंने drop==FALSE
की कोशिश की जो एक ही त्रुटि मैसेज उत्पन्न करता था।
इस भ्रम के लिए सोरर!
name year index d.value
a 2009 c2 +20 #c2 stayed the same just the first row got intentionally dropped.
a 2010 c1 +10
एक विशेषता की तरह कुछ के रूप में दुर्भाग्यपूर्ण नाम index
पर विचार करें::
name year index value
a 2008 c1 10
a 2009 c2 30
a 2010 c1 40
diff के ले जा रहा समूह acroos के बाद 'एक' इस तरह दिखता है: यहाँ एक बहुत ही सरल उदाहरण है यह वर्षों के दौरान बदल सकते हैं लेकिन diff()
मुझे वास्तव में उम्मीद है कि यह आपको एक सुराग देता है जो मैं चाहता हूं - यदि नहीं, तो मैं सवाल हटा दूंगा क्योंकि मुझे एक असाधारण कामकाज मिला है;) और सभी असुविधा के लिए खेद है!
आप उन्हें कैसे लाइन करना चाहते हैं? हेड डिफ़ॉल्ट रूप से पहले छह तत्व लौटाता है। – hadley
अनुमान है कि मुझे 'हेड()' भाग का अर्थ नहीं मिला जिसे मैंने किसी अन्य उत्तर से कॉपी किया था। मैं मूल रूप से एक ऐसे इंडेक्स को पास करना चाहता हूं जो कड़ाई से नाम और वर्ष से जुड़ा हुआ है लेकिन उच्च आवृत्ति के साथ। मैं अपने प्रश्न को स्पष्ट कर दूंगा! – Seb
और आप इंडेक्स को कैसा दिखाना चाहते हैं। डीडीप्ली में एक सबसेट में 4 पंक्तियां हैं, diff में तीन मान हैं और पहले दो में इंडेक्स सी 1 है और दूसरे दो में इंडेक्स सी 2 है। उस सूचकांक मूल्य का क्या होगा? "C1-C2"? –