2013-06-11 6 views
6

मैं एक डेटा फ्रेम है, का कहना है कि वेतन, जैसे:मैं क्यों देख रहा हूं "त्रुटि: लंबाई (पंक्तियां) == 1 सत्य नहीं है" ddply के साथ?

payroll <- read.table(text=" 
AgencyName   Rate    PayBasis  Status NumRate 
HousingAuthority $26,843.00 Annual   Full-Time 26843.00 
HousingAuthority $14,970.00 ProratedAnnual Part-Time 14970.00 
HousingAuthority $26,843.00 Annual   Full-Time 26843.00 
HousingAuthority $14,970.00 ProratedAnnual Part-Time 14970.00 
HousingAuthority $13.50   Hourly   Part-Time 13.50 
HousingAuthority $14,970.00 ProratedAnnual Part-Time 14970.00 
HousingAuthority $26,843.00 Annual   Full-Time 26843.00", header = TRUE) 

"NumRate" वास्तव में संख्यात्मक है:

payroll$NumRate <- as.numeric(payroll$NumRate) 

और मैं प्राप्त करना चाहते हैं एक पता अधिकतम, न्यूनतम और मतलब PayBasis द्वारा वेतन। मैं इस काम करने की उम्मीद:

ddply(payroll, "PayBasis", summarize) 

लेकिन बजाय मैं एक त्रुटि हो रही है: Error: length(rows) == 1 is not TRUE

मैं यहाँ क्या याद आ रही है?

उत्तर

3

शायद क्योंकि आपने summarize को summary (जो इस संदर्भ में अपेक्षा की तरह काम नहीं करेगा) के लिए गलत है। आप शायद चाहता था:

ddply(payroll, "PayBasis", summarize,mx = max(NumRate),mn = min(NumRate),avg = mean(NumRate)) 
     PayBasis  mx  mn  avg 
1   Annual 26843.0 26843.0 26843.0 
2   Hourly 13.5 13.5 13.5 
3 ProratedAnnual 14970.0 14970.0 14970.0 

और ?summarize और ?ddply में उदाहरण पर अधिक ध्यान से देखने के लिए सुनिश्चित करें।

संबंधित मुद्दे

 संबंधित मुद्दे