द्वारा अलग किया गया मैं वास्तव में एक पंक्ति में दो प्रश्न पूछने से नफरत करता हूं लेकिन यह ऐसा कुछ है जिसे मैं अपने सिर को लपेट नहीं सकता। में अनुसंधान लगातार पिछले दिन के बीच का अंतर (और केवल पिछले दिन, नहीं पिछले परिणाम) की शाम मूल्य लेने के लिएविभिन्न पंक्तियों और स्तंभों पर घटाव और समूह
df
Row# User Morning Evening Measure Date
1 1 NA NA 2/18/11
2 1 50 115 2/19/11
3 1 85 128 2/20/11
4 1 62 NA 2/25/11
5 1 48 100.8 3/8/11
6 1 19 71 3/9/11
7 1 25 98 3/10/11
8 1 NA 105 3/11/11
9 2 48 105 2/18/11
10 2 28 203 2/19/11
11 2 35 80.99 2/21/11
12 2 91 78.25 2/22/11
क्या यह संभव है: तो चलो कहते हैं कि इस प्रकार मैं, एक डेटा फ्रेम जाने प्रत्येक उपयोगकर्ता समूह के लिए 1 पंक्ति और एक अलग पंक्ति के सुबह मूल्य? तो मेरे वांछित परिणाम यह होगा।
df
Row# User Morning Evening Date Difference
1 1 NA NA 2/18/11 NA
2 1 50 115 2/19/11 NA
3 1 85 129 2/20/11 30
4 1 62 NA 2/25/11 NA
5 1 48 100.8 3/8/11 NA
6 1 19 71 3/9/11 81.8
7 1 25 98 3/10/11 46
8 1 10 105 3/11/11 88
9 2 48 105 2/18/11 NA
10 2 28 203 2/19/11 77
11 2 35 80.99 2/21/11 NA
12 2 91 78.25 2/22/11 -10.01
सभी मैं चाहता हूँ यह करने के लिए सुबह मान ले और प्रत्येक उपयोगकर्ता समूह के लिए पिछले लगातार दिन की शाम मूल्य से घटा दें करने के लिए है। जैसा कि आप देख सकते हैं, मेरे डेटा फ्रेम के कुछ हिस्सों में सुबह और शाम कॉलम में एनए मान होते हैं, इसके अतिरिक्त, सभी अलग-अलग उपयोगकर्ताओं के लिए सभी तिथियां लगातार क्रम में नहीं होती हैं, इसलिए स्वाभाविक रूप से, NA को असाइन किया जाना चाहिए।
मैंने Google को खोजने का प्रयास किया है लेकिन अलग-अलग कॉलम पर पंक्तियों के प्रत्येक समूह के लिए अलग-अलग पंक्तियों में फ़ंक्शंस लागू करने में सक्षम होने पर अधिक जानकारी नहीं थी (यदि यह कोई समझ में आता है)।
मेरे प्रयासों में इसमें कई बदलाव शामिल हैं।
df$Difference<-ave((df$Morning,df$Evening),
df$User,
FUN=function(x){
c('NA',diff(df$Evening-df$Morning)),na.rm=T
})
फिर से, किसी भी मदद की सराहना की जाएगी। धन्यवाद।
आपको वास्तव में अपने कॉलम नामों में '#' का उपयोग करना चाहिए ... – juba