2010-11-23 7 views
12

मैं वर्तमान में आर का उपयोग कर रहा हूं और मैं जानना चाहता हूं कि जब मैं सूची घोषित करता हूं तो मैं सूची वस्तुओं को कैसे लेबल कर सकता हूं। उदाहरण के लिए: return(list(xhat,alpha,beta)), और xhat, alpha और beta स्वयं ही सरणी हैं। मैं प्रत्येक को एक उचित लेबल देना चाहता हूं।आर के लिए सूची में लेबल कैसे डालें?

धन्यवाद।

उत्तर

7

आपको बस list(x=xhat, a=alpha, b=beta)

+0

हां लेकिन मैं आउटपुट लेबल करना चाहता हूं। –

+1

जब आप सूची का प्रत्येक तत्व चुनते हैं जैसे 'list.name ["x"] 'नाम (यहां' x') आउटपुट के साथ मुद्रित हो जाता है। जब आप दो ब्रैकेट का उपयोग करते हैं तो नाम 'list.name [["x"]]' छोड़ा जाता है। क्या यह वही है जिसको आप ढूंढ रहें थे। – mropa

+0

विटोशका और मेरे द्वारा सुझाए गए सभी तरीके लेबल किए गए तत्वों के साथ एक सूची बनाते हैं। जिस तरह से मैंने सुझाव दिया है कि यदि आप समय से पहले लेबल जानते हैं। विटोशका के समाधान अधिक सामान्य हैं, इसलिए जब आप अपनी स्क्रिप्ट के भीतर लेबल निर्धारित करना चाहते हैं तो काम करेंगे। इन लेबलों के साथ आप क्या करते हैं एक और सवाल है ... –

21

साधारण मामलों माइकल के जवाब काम करेंगे के लिए है। कभी-कभी आपके पास my_names नामों का वेक्टर होता है जिसे आप आउटपुट नाम/नाम बदलने के लिए उपयोग करना चाहते हैं। कर रहे हैं कम से कम तीन तरीके:

  • उपयोग names<-:

    out <- list(xhat,alpha,beta) 
    names(out) <- my_names 
    out 
    
  • उपयोग setNames():

    setNames(out, my_names) 
    
  • उपयोग structure():

    structure(out, names=my_names) 
    
+0

उनमें से कोई भी 'वापसी() 'की आवश्यकता नहीं है, और शीर्ष स्तर पर जारी होने पर त्रुटि उत्पन्न होगी (i..e फ़ंक्शन के भीतर नहीं) –

+0

@Gavin, जाहिर है, लेकिन उसका प्रश्न लौटा मूल्य लेबल करने के बारे में है, इसलिए प्रश्न से मेल खाने के लिए वापसी है। – VitoshKa

+0

रिटर्न आर में वैकल्पिक है और इसे छोड़ने की अच्छी शैली है, सिवाय इसके कि जब बाहर निकलने के लिए उपयोग किया जाता है – hadley

संबंधित मुद्दे