dataframe - count unique set of columns in R -
मेरे पास डेटाफ्रेम है जो इस तरह दिखता है:
FieldID X2009 X2010 X2011 X2012 X2013 X2014 1 H003 1 1 1 1 1 1 2 H001 NA 1 1 1 1 1 3 H005 NA 1 1 1 1 1 4 H006 NA 1 1 1 1 1 5 H009 NA 1 1 1 NA 1 6 H010 NA 1 1 1 NA 1 7 H002 NA 1 1 1 NA NA 8 H007 NA 1 1 1 NA NA 9 H008 NA 1 1 NA 1 NA 10 H004 NA 1 1 NA NA 1 मैं पंक्तियों की संख्या गिरने की कोशिश करता हूं X2009-X2014 के प्रत्येक विशिष्ट संयोजन में इसलिए डेटाफ़्रेम के लिए परिणाम दिखता है:
FieldID X2009 X2010 X2011 X2012 X2013 X2014 पंक्ति 1 H003 1 1 1 1 1 1 2 2 एच 1 1 1 1 1 1 1 3 5 एच 1 1 1 1 3 1 NA 1 2 7 H002 NA 1 1 1 NA NA 2 9 H008 NA 1 1 NA 1 NA 1 10 H004 NA 1 1 NA NA 1 1 मैंने निम्नलिखित करने की कोशिश की:
tt% & gt;% इकट्ठा (।, वर्ष, मान, X2009: X2014)% & gt;% mutate (value = ifelse (is.na (मान), 0,1))% & gt; % Tidyr :: spread (।, वर्ष, मान)% & gt;% group_by (X2009, X2010, X2011, X2012, X2013, X2014)% & gt;% संक्षेप (पंक्ति = n ()) यह मुझे त्रुटि देता है
& gt; N () में त्रुटि: इस फ़ंक्शन को सीधे को बदलना n () लंबाई () या के साथ नहीं होना चाहिए NROW () ने मदद नहीं की मैं इसे कैसे प्राप्त कर सकता हूं?
यह एक विकल्प है:
grps & Lt; - नाम (डीएफ) [- 1] # समूह कॉलम डीएफ% & gt;% group_by _ (.dots = grps)% & gt;% mutate (पंक्ति = n ())% & gt;% अलग () # आप कर सकते हैं % & Gt;% ungroup () यदि आवश्यक हो तो जोड़ें # स्रोत: स्थानीय डेटा फ्रेम [6 x 8] # समूह: X2009, X2010, X2011, X2012, X2013, X2014 # # फ़ील्ड आईडी X2009 X2010 X2011 X2012 X2013 पंक्ति # 1 H003 1 1 1 1 1 1 1 1 # 2 एच 001 1 1 1 1 1 3 3 3 एच 0 एन 1 1 1 एनए 1 2 # 4 एच 000 1 एनए 1 1 एनए एनए 2 # 5 एच 0 एन 1 1 एनए 1 एनए 1 # 6 एच 0 एन 0 एन 1 1 एनए एनए 1 1 संपादित करें:
या बिना मध्यवर्ती परिवर्तनीय:
डीएफ% & gt;% group_by _ (.dots = नाम (।) [- 1])% & gt;% mutate (पंक्ति = एन ())% & gt;% अलग ()
Comments
Post a Comment