मैं अपनी स्क्रीन रीयल एस्टेट का उपयोग करके कई सरल सूचियों को देखने के लिए देख रहा हूं। मैं उन्हें गठबंधन करने की कोशिश नहीं कर रहा हूं, एक ला cbind
, लेकिन अगर कोई नई मध्यवर्ती संरचना बनाई गई तो मुझे कोई फर्क नहीं पड़ता। बेशक, यह समझें कि एक सूची में कई अलग-अलग प्रकार की वस्तुएं हो सकती हैं, हालांकि मैं लगभग गारंटी दूंगा कि मेरी सूचियों में समान संरचनाएं हैं; चीजों को काम करने के लिए आवश्यक होने पर "एनए" या "न्यूल" डालने के लिए स्वतंत्र महसूस करें (या मैं यह समझ सकता हूं कि इसे कैसे घुमाया जाए)।आर में साइड-बाय-साइड सूचियों को कैसे प्रदर्शित करें - सूचियों के लिए "cbind"?
यहाँ तीन उदाहरण सूचीबद्ध करता है कि मैं कंधे से कंधा मिलाकर प्रदर्शित करने का प्रयास करना चाहते हैं:
l1 <- list(e1 = "R", e2 = list("statistics", "visualization"), e3 = 0)
l2 <- list(e1 = "Perl", e2 = list("text processing", "scripting"), e3 = 0)
l3 <- list(e1 = "Matlab", e2 = list("numerical computing", "simulation"), e3 = c("academic - unknown", "professional - unknown"))
आप एक विस्तृत मॉनिटर है, तो यह एक बेकार की तरह दिखता है इन इतना खड़ी कक्ष तक ले देखने के लिए और क्षैतिज पहुंच पर इतना छोटा कमरा इस्तेमाल किया जाता है। यदि ये सूचियां थोड़ी देर तक थीं, तो मैं एक छोटे से फ़ॉन्ट को कम किए बिना, एक समय में 2 से अधिक नहीं देख पाऊंगा।
यह यह आसान, l1
में e3
प्रविष्टियों और l2
"FOSS"
, l3$e3
के चरित्र वैक्टर मिलान करने के लिए किया जा सकता है बनाता है, लेकिन असली लक्ष्य आर कंसोल में एक स्वरूप की समस्या है।
कुछ अनुभवहीन, इंटरफ़ेस-विशिष्ट समाधान में शामिल हैं:
- आग तक अनेक आर उदाहरणों, विभाजित स्क्रीन जीएनयू
screen
औरC-A |
- जानें ईएसएस, और Emacs का चमत्कार सब कुछ का समाधान करते हैं का उपयोग कर
- जाओ एक और पाठ संपादक (जैसे नोटपैड ++) के साथ आगे और आगे पाठ के ब्लॉक
गैर-निष्पक्ष समाधान टी टोपी मैं कोशिश कर रहा हूं:
- इन्हें एक टेक्स्ट फ़ाइल में लिखें। यहां समस्या निश्चित चौड़ाई दूरी का काम कर रही है। शायद
read.fwf
मदद करेगा। (यदि कोई प्रविष्टि आवंटित स्थान से अधिक हो, या सामान को छोटा करने के लिए त्रुटि हो तो ठीक है।) reshape
पैकेज के साथ कुछ करने का प्रयास करें।- संभावित रूप से कुछ
xlsx
शामिल है, कोशिकाओं का एक समूह बनाने के लिए, प्रत्येक पाठ प्रविष्टियों के साथ, और फिर एक बड़ा चरित्र मैट्रिक्स प्रदर्शित करने का प्रयास करें।
क्या कुछ अन्य विधियां हैं जो अधिक कुशल होंगी? फिर, कुछ भी वास्तव में किसी ऑब्जेक्ट के रूप में संयुक्त होने की आवश्यकता नहीं है, केवल दृश्य प्रदर्शन में संयुक्त है।
अपडेट 1. यहां plyr
का उपयोग करके एक उदाहरण दिया गया है। परिणाम स्वीकार्य रूप से काफी कच्चे हैं - सूचियों और सूची तत्वों के नाम संरक्षित नहीं किए गए हैं, इसे ठीक करना मुश्किल नहीं है, लेकिन मुझे संदेह है कि इससे बेहतर प्रदर्शन करना संभव है। मैं सूचियों को प्रिंट करने के साथ ठीक हूं क्योंकि आर सामान्य रूप से उन्हें प्रिंट करता है, लेकिन खिड़की को किसी भी तरह से अलग करता है। मुझे संदेह है कि यह आसान नहीं है।
combineLists <- function(manyLists){
library(plyr)
newLists <- list()
for(ixList in 1:length(manyLists)){
tmpList <- lapply(manyLists[[ixList]], paste, sep = "", collapse = ", ")
tmpVec <- as.character(tmpList)
newLists[[ixList]] <- tmpVec
}
newDF <- t(ldply(newLists))
return(newDF)
}
combineLists(list(l1, l2, l3))
+1 यह अच्छा लग रहा है! – Iterator
आपका उत्तर वह है जो मैं आधार आर में प्राप्त करने की उम्मीद कर रहा था। जेम्स का जवाब वास्तव में मुझसे अधिक आकर्षक है जितना कि मुझे उम्मीद की जा सकती है, लेकिन आपका बेस आर समाधान "कंसोल" पुरस्कार जीतता है (बनाम सांत्वना ...)। – Iterator