दिलचस्प पोस्ट
आर – बूलीयन ऑपरेटर्स एंड एंड क्रोम का उपयोग करना, यह कैसे पता चलता है कि कौन से तत्व एक घटना बाध्य है? दृश्य स्टूडियो 2008 एक्सप्रेस संस्करणों में "गायब" क्या है? jQuery के मान्य – छिपे हुए क्षेत्रों के लिए सत्यापन सक्षम करें कैसे सभी git शाखाओं को लाने के लिए? "~ / डेस्कटॉप / test.txt: ऐसा कोई फ़ाइल या निर्देशिका नहीं" क्या मैं एप्लिकेशन अपग्रेड पर सेटिंग्स खोने से बचने के लिए .NET उपयोगकर्ता सेटिंग्स का स्थान नियंत्रित कर सकता हूं? पायथन में एकाधिक छोरों से कैसे बाहर निकलना है? URL को HTML लिंक के साथ टेक्स्ट में बदलें कई जारों को संयोजित करने का साफ तरीका है? प्राथमिकता का उपयोग कर चींटी कैसे जावा में सिंक्रनाइज़ काम करता है कैसे इस त्रुटि को रोकने के लिए: चेतावनी: mysql_fetch_assoc () पैरामीटर 1 संसाधन होने की उम्मीद है, बूलियन को दिया … लाइन 11 पर विंडोज बैच फ़ाइल का उपयोग करते हुए कई आदेशों के साथ सिंगल लाइन छवि को एक गतिविधि से दूसरी गतिविधि से पास करना VBA का उपयोग कर कस्टम रिबन टैब कैसे जोड़ें?

इंटरैक्शन की तालिका – पालतू जानवरों और घरों के साथ मामला

मेरे घरों की एक सूची है और पशु प्रजातियों की एक सूची है

houses = c(1,1,2,3,4,4,4,4,5,6,5) animals = c('cat','dog','cat','dog','rat', 'cat', 'spider', 'snake', 'cat', 'cat', 'rat') 

मैं एक ऐसा समारोह बनाने की कोशिश कर रहा हूं जो ऊपरी त्रिकोणीय तालिका देता है जो प्रत्येक पालतू जानवर के लिए इंगित करता है, उस समय की संख्या जिसे अन्य पशु प्रजातियों की तुलना में एक ही घर में रहने के लिए मनाया गया था। क्या इस का कोई मतलब निकलता है?

उपरोक्त उदाहरण के लिए, तालिका को इस तरह दिखना चाहिए (आशा है कि कोई गलती नहीं है!):

  dog rat spider snake cat 1 2 1 1 dog 0 0 0 rat 1 1 spider 1 

नोट: इस फ़ंक्शन को समान लंबाई के किसी भी दो वैक्टर के लिए काम करना चाहिए, चाहे वे नंबर या स्ट्रिंग हों

वेब के समाधान से एकत्रित समाधान "इंटरैक्शन की तालिका – पालतू जानवरों और घरों के साथ मामला"

table और crossprod उपयोग करें:

 out <- crossprod(table(houses, animals)) out[lower.tri(out, diag=TRUE)] <- NA out # animals # animals cat dog rat snake spider # cat NA 1 2 1 1 # dog NA NA 0 0 0 # rat NA NA NA 1 1 # snake NA NA NA NA 1 # spider NA NA NA NA NA 

चूंकि आउटपुट एक matrix आप सीधे print में NA वैल्यू के मुद्रण को दबा सकते हैं:

 print(out,na.print="") # animals # animals cat dog rat snake spider # cat 1 2 1 1 # dog 0 0 0 # rat 1 1 # snake 1 # spider