2013-07-17 6 views
23

यह संभवतः वास्तव में एक साधारण प्रश्न है। मेरे पास डेटाफ्रेम (डीएफ 1, डीएफ 2 .... डीएफएन) की एक सूची है, यानी सूची के प्रत्येक तत्व डेटाफ्रेम है। तो बुनियादी तौर पर, सूची इस तरह बनाया गया था:डेटाफ्रेम की एक सूची असूचीबद्ध करें

mylist = list(df1, df2,...., dfn) 

लेकिन यह कैसे आदि, ताकि DF1, df2 असूचीबद्ध है मैं रिवर्स करते हैं, कार्यक्षेत्र में अलग-अलग रहते हैं?

+0

धन्यवाद। क्या आप टेलीपैथ हैं? – user702432

+3

प्रश्न * होना चाहिए, आप * ऐसा क्यों करना चाहते हैं *। यदि आपके पास अपने सभी डीएफ की एक सुंदर सूची में है, तो शायद ही कभी एक कारण है कि आपको उन्हें अलग-अलग वस्तुओं में बनाने की आवश्यकता है। आप बस अपनी सूची के तत्वों के रूप में उनके साथ काम कर सकते हैं। –

+2

साइमन के साथ सहमत हैं। यदि आप उन्हें नाम से कॉल करना चाहते हैं तो सूची में उनके नाम पर बेहतर होगा - उदा। 'myList = list (df1 = data.frame (...), df2 = data.frame (...), ...) 'और उन्हें' myList [['df1']' – geotheory

उत्तर

50

उपयोग list2env यह विशेष रूप से इस बात के लिए बनाया गया है:

से एक नामित सूची एक्स, एक बनाने वातावरण में सभी सूची ऑब्जेक्ट्स के रूप में घटक, या एक्स से "बहु-असाइन" को पूर्व-मौजूदा वातावरण में शामिल किया गया है।

तो यहाँ:

list2env(mylist ,.GlobalEnv) 
+7

+1 मुझे नहीं पता था कि यह फ़ंक्शन मौजूद है। –

+0

शानदार! बहुत धन्यवाद। – user702432

11

आप बस assign समारोह है कि तरह के साथ एक के लिए लूप इस्तेमाल कर सकते हैं:

# Sample data 
df.list <- list(data.frame(x = 1:3, y = c(10, 20, 30)), 
       data.frame(x = 4:6, y = c(40, 50, 60)), 
       data.frame(x = 7:9, y = c(70, 80, 90))) 

# Write out single data frames 
for (i in seq(df.list)) 
    assign(paste0("df", i), df.list[[i]]) 
+1

भयानक समाधान जब आपके पास एक नामांकित सूची है। – NoThanks

+0

वास्तव में सुरुचिपूर्ण! –

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