आर में समूह द्वारा मानक विचलन की गणना कैसे करें (उदाहरण के साथ)
आप R में समूह द्वारा मानक विचलन की गणना करने के लिए निम्न में से किसी भी विधि का उपयोग कर सकते हैं:
विधि 1: आर बेस का उपयोग करें
aggregate(df$col_to_aggregate, list(df$col_to_group_by), FUN=sd)
विधि 2: dplyr का उपयोग करें
library (dplyr)
df %>%
group_by(col_to_group_by) %>%
summarise_at(vars(col_to_aggregate), list(name=sd))
विधि 3: डेटा.टेबल का उपयोग करें
library (data.table)
setDT(df)
dt[ ,list(sd=sd(col_to_aggregate)), by=col_to_group_by]
निम्नलिखित उदाहरण दिखाते हैं कि आर में निम्नलिखित डेटा फ्रेम के साथ अभ्यास में इनमें से प्रत्येक विधि का उपयोग कैसे करें:
#create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 6 ),
points=c(8, 10, 12, 12, 14, 15, 10, 11, 12,
18, 22, 24, 3, 5, 5, 6, 7, 9))
#view data frame
df
team points
1 to 8
2 to 10
3 to 12
4 to 12
5 to 14
6 to 15
7 B 10
8 B 11
9 B 12
10 B 18
11 B 22
12 B 24
13 C 3
14 C 5
15 C 5
16 C 6
17 C 7
18 C 9
विधि 1: आर आधार का उपयोग करके समूह द्वारा मानक विचलन की गणना करें
निम्नलिखित कोड दिखाता है कि टीम द्वारा प्राप्त अंकों के मानक विचलन की गणना करने के लिए आर डेटाबेस के एग्रीगेट() फ़ंक्शन का उपयोग कैसे करें:
#calculate standard deviation of points by team
aggregate(df$points, list(df$team), FUN=sd)
Group.1 x
1 A 2.562551
2 B 6.013873
3 C 2.041241
विधि 2: dplyr का उपयोग करके समूह द्वारा मानक विचलन की गणना करें
निम्नलिखित कोड दिखाता है कि टीम द्वारा प्राप्त अंकों के मानक विचलन की गणना करने के लिए dplyr पैकेज से Group_by () और summarise_at() फ़ंक्शन का उपयोग कैसे करें:
library (dplyr)
#calculate standard deviation of points scored by team
df %>%
group_by(team) %>%
summarise_at(vars(points), list(name=sd))
# A tibble: 3 x 2
team name
1 to 2.56
2 B 6.01
3C 2.04
विधि 3: डेटा.टेबल का उपयोग करके समूह द्वारा मानक विचलन की गणना करें
निम्नलिखित कोड दिखाता है कि data.table पैकेज में फ़ंक्शन का उपयोग करके टीम द्वारा बनाए गए अंकों के मानक विचलन की गणना कैसे करें:
library (data.table)
#convert data frame to data table
setDT(df)
#calculate standard deviation of points scored by team
df[,list(sd=sd(points)), by=team]
team sd
1: A 2.562551
2: B 6.013873
3:C2.041241
ध्यान दें कि सभी तीन विधियाँ समान परिणाम लौटाती हैं।
ध्यान दें : यदि आप बहुत बड़े डेटा फ्रेम के साथ काम कर रहे हैं, तो dplyr या data.table दृष्टिकोण का उपयोग करने की अनुशंसा की जाती है क्योंकि ये पैकेज बेस आर की तुलना में बहुत तेजी से काम करते हैं।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:
आर में प्रति समूह माध्य की गणना कैसे करें
आर में समूह द्वारा योग की गणना कैसे करें
आर में समूह द्वारा मात्राओं की गणना कैसे करें