Dplyr का उपयोग करके क्रॉसस्टैब कैसे बनाएं (उदाहरण के साथ)
आप R में dplyr और Tidyr पैकेज के फ़ंक्शंस का उपयोग करके क्रॉसस्टैब बनाने के लिए निम्नलिखित मूल सिंटैक्स का उपयोग कर सकते हैं:
df %>% group_by (var1, v ar2) %>% tally () %>% spread (var1,n)
निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।
उदाहरण 1: एक बेसिक क्रॉसस्टैब बनाएं
मान लीजिए कि हमारे पास R में निम्नलिखित डेटा फ़्रेम है:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'C', 'G', 'F', 'F', 'C'), dots=c(7, 7, 8, 11, 13, 15, 19, 13)) #view data frame df team position points 1 AG 7 2 AG 7 3AF 8 4 AC 11 5 BG 13 6 BF 15 7 BF 19 8 BC 13
हम “टीम” और “स्थिति” चर के लिए क्रॉसस्टैब बनाने के लिए निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
library (dplyr) library (tidyr) #produce crosstab df %>% group_by (team, position) %>% tally () %>% spread (team, n) # A tibble: 3 x 3 position AB 1 C 1 1 2 F 1 2 3 G 2 1
यहां क्रॉसस्टैब मानों की व्याख्या करने का तरीका बताया गया है:
- 1 खिलाड़ी है जो स्थान “सी” पर है और टीम “ए” से संबंधित है
- 1 खिलाड़ी है जो स्थान “सी” पर है और टीम “बी” से संबंधित है
- 1 खिलाड़ी है जो स्थान “एफ” पर है और टीम “ए” से संबंधित है
- ऐसे 2 खिलाड़ी हैं जिनका स्थान “एफ” है और वे टीम “बी” से संबंधित हैं।
- ऐसे 2 खिलाड़ी हैं जिनका स्थान “G” है और वे टीम “A” से हैं।
- 1 खिलाड़ी है जो “जी” स्थान पर है और टीम “बी” से संबंधित है
ध्यान दें कि हम स्प्रेड() फ़ंक्शन में प्रयुक्त वेरिएबल को बदलकर क्रॉसस्टैब की पंक्तियों और स्तंभों को बदल सकते हैं:
library (dplyr) library (tidyr) #produce crosstab with 'position' along columns df %>% group_by (team, position) %>% tally () %>% spread (position, n) # A tibble: 2 x 4 # Groups: team [2] team CFG 1 A 1 1 2 2 B 1 2 1
संबंधित: Tidyr में स्प्रेड सुविधा का उपयोग कैसे करें
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि dplyr में अन्य सामान्य कार्य कैसे करें:
Dplyr का उपयोग करके सापेक्ष आवृत्तियों की गणना कैसे करें
Dplyr का उपयोग करके इंडेक्स द्वारा कॉलम का चयन कैसे करें
Dplyr का उपयोग करके पंक्तियों को कैसे हटाएं