आर

2013-02-09 5 views
8
sample <- 
structure(list(GB05 = structure(c(22L, 34L, 26L, 2L), .Dim = 4L, .Dimnames = structure(list(
    c("98", "100", "102", "106")), .Names = ""), class = "table"), 
    GB18 = structure(c(8L, 14L, 70L), .Dim = 3L, .Dimnames = structure(list(
     c("173", "175", "177")), .Names = ""), class = "table"), 
    GB06 = structure(c(2L, 16L, 48L, 10L, 10L, 6L), .Dim = 6L, .Dimnames = structure(list(
     c("234", "238", "240", "242", "244", "246")), .Names = ""), class = "table"), 
    GB27 = structure(c(2L, 28L, 2L, 2L, 4L, 3L, 2L, 2L, 15L, 
    17L, 4L, 5L), .Dim = 12L, .Dimnames = structure(list(c("145", 
    "147", "149", "151", "156", "159", "165", "167", "169", "171", 
    "173", "175")), .Names = ""), class = "table"), GB24 = structure(c(2L, 
    4L, 41L, 10L, 6L, 2L, 14L, 2L, 3L), .Dim = 9L, .Dimnames = structure(list(
     c("240", "241", "242", "243", "244", "247", "249", "251", 
     "253")), .Names = ""), class = "table"), GB28 = structure(c(30L, 
    22L, 2L, 10L, 2L, 4L, 2L, 2L, 2L), .Dim = 9L, .Dimnames = structure(list(
     c("363", "364", "365", "367", "371", "377", "380", "384", 
     "390")), .Names = ""), class = "table"), GB15 = structure(c(12L, 
    16L, 43L, 2L, 3L, 4L), .Dim = 6L, .Dimnames = structure(list(
     c("142", "144", "146", "147", "148", "152")), .Names = ""), class = "table"), 
    GB02 = structure(c(6L, 78L, 4L), .Dim = 3L, .Dimnames = structure(list(
     c("194", "197", "200")), .Names = ""), class = "table"), 
    GB10 = structure(c(2L, 36L, 7L, 1L, 16L, 20L), .Dim = 6L, .Dimnames = structure(list(
     c("124", "126", "128", "130", "132", "134")), .Names = ""), class = "table"), 
    GB14 = structure(c(3L, 6L, 7L, 37L, 7L), .Dim = 5L, .Dimnames = structure(list(
     c("181", "184", "187", "193", "196")), .Names = ""), class = "table")), .Names = c("GB05", 
"GB18", "GB06", "GB27", "GB24", "GB28", "GB15", "GB02", "GB10", 
"GB14")) 

इस सूची में नामों को इस लापरवाह कॉल (प्रत्येक प्लॉट के लिए एक शीर्षक) में साजिश शीर्षक के रूप में दिखाई देने के लिए इस सूची में नाम कैसे प्राप्त करें?आर

dev.new() 
par(mfrow=c(2,5)) 
lapply(sample,function(x) plot(x,main=names[x])) 

मुझे समझ में नहीं आता क्यों मुख्य = नाम [x] काम नहीं करेगा। बजाय सूची आइटम के नाम पर

+0

आपका 'ड्यूटी' आउटपुट सही ढंग से प्रतिलिपि/चिपकाया नहीं गया है। कॉपी करने का प्रयास करते समय यह त्रुटि देता है। – Arun

+0

@ अरुण ठीक किया गया, इसे इंगित करने के लिए धन्यवाद। – Chargaff

+1

@ चार्जफ, नहीं। * अब * यह तय है। आपकी पहली पंक्ति 'नमूना <- dput (afn)' पढ़ें। आपको उस 'dput (afn)' भाग को शामिल करने की आवश्यकता नहीं है। – A5C1D2H2I1M1N2O1R2T1

उत्तर

14

उपयोग lapply:

lapply(names(afn), function(x) plot(afn[[x]], main=x)) 

enter image description here

क्यों आप अपने नाम नहीं मिल रहा है देखने के लिए, lapply(afn, function(x) names(x)) चलाने आप नाम प्रत्येक के देता है सूची वस्तु या कुछ और। lapply(names(afn), function(x) x) के साथ इसे आज़माएं और अंतर की तुलना करें। फिर, याद रखें कि हम [[ का उपयोग कर नाम से एक सूची आइटम निकाल सकते हैं।

+0

मैं $ name_plot का उपयोग करने के लिए यहां 'sapply' का उपयोग करूंगा ... – agstudy