2012-08-16 8 views
13

सूची में डेटा फ्रेम जोड़ें आर में सूची में डेटा फ्रेम कैसे जोड़ सकता हूं? मैं निम्नलिखित कोड का प्रयास कर रहा हूं।आर -

पहले, मैं एक csv फ़ाइल से एक डेटा फ्रेम बनाने (किसी भी csv फ़ाइल करना होगा)

> a <- read.csv(csvFile) 
> class(a) 
[1] "data.frame" 

हां, तो मैं "एक" नामक एक डेटा फ्रेम है। अब मैं एक चरित्र आइटम के साथ एक सूची के रूप में नीचे

> b <- list("hello world") 

अब पता चला बनाने के लिए, मैं अपने डेटा फ्रेम "एक" सूची में ख के रूप में नीचे

> b[[length(b)+1]] <- a 
> class(b) 
[1] "list" 
> length(b) 
[1] 2 

अब तक तो अच्छा दिखाया जोड़ देते हैं। सूची बी में अब 2 आइटम हैं (वर्ण स्ट्रिंग "हैलो वर्ल्ड" और डेटा फ्रेम ए)। अब जो टुकड़ा मुझे पहेली करता है वह निम्नलिखित कोड है

> class(b[2]) 
[1] "list" 

कक्षा (बी [2]) डेटा फ्रेम की बजाय सूची के रूप में क्यों दिख रहा है? मैं अपनी डेटा फ्रेम "ए" सूची में "बी" जोड़ने के लिए एक सूची में अंतर्निहित रूप से परिवर्तित किए बिना सक्षम होना चाहता हूं। क्या कोई मुझे यह समझने में मदद कर सकता है कि यह कैसे करें?

+2

यह सबसे अच्छा उदाहरण है जिसे मैंने '[' और '[[' 'के बीच भ्रम के बारे में देखा है। वे सूचियों के साथ अलग-अलग चीजें करते हैं। – joran

+1

ध्यान दें कि तत्व को सेट करने के लिए आपको '[[<-'' का उपयोग कैसे करना था? यह एक सुराग है। ;-) –

उत्तर

15

यह, "रिकर्सिव (सूची की तरह) वस्तुओं" में ?"[" (या ?Extract) में दर्ज है धारा (जोर जोड़ा):

अनुक्रमण द्वारा '[' परमाणु वैक्टर और चयन के समान है निर्दिष्ट तत्व (ओं) की एक सूची।

दोनों '[[' और '$' सूची के एक तत्व का चयन करें।

b[2] के बाद से रिटर्न एक सूची, तुम [[ उपयोग करने के लिए है, यानी b[[2]] चाहते हैं।