आर में समूह औसत की गणना कैसे करें (उदाहरण के साथ)


अक्सर आप आर में समूह औसत की गणना करना चाह सकते हैं। ऐसा करने के लिए आप तीन तरीकों का उपयोग कर सकते हैं:

विधि 1: आर बेस का उपयोग करें।

 aggregate(df$col_to_aggregate, list(df$col_to_group_by), FUN= mean )

विधि 2: dplyr() पैकेज का उपयोग करें।

 library (dplyr)

df %>%
  group_by (col_to_group_by) %>%
  summarise_at (vars(col_to_aggregate), list(name = mean ))

विधि 3: data.table पैकेज का उपयोग करें।

 library (data.table)

dt[ ,list(mean= mean (col_to_aggregate)), by=col_to_group_by]

निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में इनमें से प्रत्येक विधि का उपयोग कैसे करें।

विधि 1: आर आधार का उपयोग करके प्रति समूह औसत की गणना करें

निम्नलिखित कोड दिखाता है कि निम्नलिखित डेटा फ़्रेम में प्रति टीम द्वारा बनाए गए औसत अंकों की गणना करने के लिए आर डेटाबेस एग्रीगेट () फ़ंक्शन का उपयोग कैसे करें:

 #create data frame
df <- data.frame(team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 pts=c(5, 8, 14, 18, 5, 7, 7),
                 rebs=c(8, 8, 9, 3, 8, 7, 4))

#view data frame
df

  team pts rebs
1 to 5 8
2 to 8 8
3 b 14 9
4 b 18 3
5 b 5 8
6 c 7 7
7 c 7 4

#find mean points scored by team
aggregate(df$pts, list(df$team), FUN= mean )

  Group.1 x
1 to 6.50000
2 b 12.33333
3 to 7.00000

विधि 2: dplyr का उपयोग करके प्रति समूह औसत की गणना करें

निम्नलिखित कोड दिखाता है कि निम्नलिखित डेटा फ़्रेम में प्रति टीम द्वारा बनाए गए औसत अंकों की गणना करने के लिए dplyr पैकेज से ग्रुप_बी () और सारांश_एट () फ़ंक्शन का उपयोग कैसे करें:

 library (dplyr)

#create data frame
df <- data.frame(team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 pts=c(5, 8, 14, 18, 5, 7, 7),
                 rebs=c(8, 8, 9, 3, 8, 7, 4))

#find mean points scored by team
df %>%
group_by (team) %>%
summarise_at (vars(pts), list(name = mean ))

# A tibble: 3 x 2
  team name
  <fct> <dbl>
1 to 6.5
2 b 12.3
3 v 7

विधि 3: डेटा.टेबल का उपयोग करके समूह द्वारा औसत की गणना करें

निम्नलिखित कोड दिखाता है कि निम्नलिखित डेटा फ़्रेम में प्रति टीम बनाए गए औसत अंकों की गणना कैसे करें:

 library (data.table)

#create data frame
df <- data.frame(team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 pts=c(5, 8, 14, 18, 5, 7, 7),
                 rebs=c(8, 8, 9, 3, 8, 7, 4))

#convert data frame to data table 
setDT(df)

#find mean points scored by team
df[,list(mean= mean (pts)), by=team]

   team mean
1: to 6.50000
2:b12.33333
3: c 7.00000

ध्यान दें कि सभी तीन विधियाँ समान परिणाम लौटाती हैं।

संबंधित: आर में माध्य फलन के लिए एक संपूर्ण मार्गदर्शिका

अतिरिक्त संसाधन

आर में समूह द्वारा योग की गणना कैसे करें
आर में समूह द्वारा मात्राओं की गणना कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *