आर

2011-12-17 12 views
6

में एक .rda फ़ाइल लोड करने से डेटाफ्रेम का नाम प्राप्त करना मैं आर में एक .rda फ़ाइल लोड करने का प्रयास कर रहा हूं जो एक सहेजा गया डेटाफ्रेम था। हालांकि मुझे इसका नाम याद नहीं है।आर

मैं

a<-load("al.rda") 

जो तब मुझे एक साथ कुछ भी नहीं करता है की कोशिश की है। मुझे त्रुटि

Error:object 'a' not found 

मैंने = चिह्न का उपयोग करने का भी प्रयास किया है।

मैं यह .rda फ़ाइल कैसे लोड करूं ताकि मैं इसका उपयोग कर सकूं?

मैं लोड ("al.rda) के साथ आर restared और मुझे पता है निम्न त्रुटि

Error: C stack usage is too close to the limit 
+0

बस 'लोड ("al.rda") 'लोड करें और वैश्विक वातावरण में आर ऑब्जेक्ट्स को लोड करने के लिए' ls()' करें। – Ramnath

+0

मैं अंत में अप्रयुक्त कनेक्शन 3 (al.rda) बंद कर देता हूं। मुझे यहां क्या खोजना चाहिए? – megv

+1

@megv - कोशिश करने के लिए कुछ और चीजें: 1. आर का पुराना संस्करण स्थापित करें और इसे लोड करने का प्रयास करें - हो सकता है कि फ़ाइल पुरानी हो और नए आर संस्करणों में समस्याएं हों। 2. इसे लिनक्स पर लोड करने का प्रयास करें। – Tommy

उत्तर

4

मुझे आर को पुनर्स्थापित करना पड़ा ... किसी भी तरह यह भ्रष्ट था। सरल आदेश जो मुझे

load("al.rda") 

ने अंततः काम किया।

+0

+1 - मुझे तुम्हारा दर्द महसूस होता है! यह एक बुरा था ... – Tommy

5

प्रयोग करें 'संलग्न' हो जाते हैं और फिर एक नाम तर्क के साथ 'ls' कुछ की तरह:।

attach("al.rda") 
ls("file:al.rda") 

डेटा फ़ाइल स्थिति 2 में, सबसे अधिक संभावना अपनी खोज पथ पर है कार्य करें:।।

search() 
ls(pos=2) 

आत्मज्ञान के लिए टंकण टी वह al.rda में सहेजे गए किसी ऑब्जेक्ट का नाम अब प्राप्त करेगा, जब तक कि आपके पास खोज पथ स्थिति 1 में कुछ न हो, लेकिन आर शायद आपको किसी अन्य चीज़ को मास्क करने वाली चीज़ के बारे में कुछ संदेश के साथ चेतावनी देगा।

हालांकि अब मुझे संदेह है कि आपने अपनी आरडीएटा फ़ाइल में कुछ भी नहीं बचा है। दो कारण हैं:

  1. आप आपको एक त्रुटि संदेश
  2. लोड नहीं मिलता कहना भरी हुई कुछ भी नहीं

मैं इस स्थिति नकल कर सकते हैं वहाँ कहते हैं। यदि आप सहेजते हैं (file = "foo.RData") तो आपको एक खाली RData फ़ाइल मिल जाएगी - जो आप शायद करना चाहते थे save.image (file = "foo.RData") जो आपकी सभी ऑब्जेक्ट्स को सहेजता है।

यह आपकी .rda फ़ाइल कितनी बड़ी है? यदि यह 100 बाइट्स के नीचे है (मेरी खाली आरडीएटा फाइलें 42 बाइट लंबी हैं) तो मुझे संदेह है कि क्या हुआ है।

+0

मुझे चरित्र मिलता है (0) – megv

+0

मुझे संदेह है कि इसमें कुछ भी नहीं है। ऊपर संपादित करें देखें ... – Spacedman

+0

आकार 317,888kb – megv

4

load फ़ंक्शन लोड किए गए चर की सूची लौटाता है। मुझे संदेह है कि जब आप "al.rda" लोड करते हैं तो आपको वास्तव में त्रुटि मिलती है। जब आप लोड करते हैं तो आर आउटपुट वास्तव में क्या करता है?

का उदाहरण है कि यह कैसे चाहिए काम:

d <- data.frame(a=11:13, b=letters[1:3]) 
save(d, file='foo.rda') 
a <- load('foo.rda') 
a # prints "d" 

बस सुनिश्चित हो जाँच करें कि load समारोह आप वास्तव में फोन मूल एक है करने के लिए:

find("load") # should print "package:base" 

संपादित आप के बाद से जब आप फ़ाइल लोड करते हैं तो अब एक त्रुटि प्राप्त करें, यह किसी भी तरह से भ्रष्ट है।इस कोशिश करो और कहते हैं कि यह क्या प्रिंट:

file.info("a1.rda") # Prints the file size etc... 
readBin("a1.rda", "raw", 50) # reads first 50 bytes from the file 

फ़ाइल तक पहुँच होने के बिना, यह अधिक जांच करने के लिए मुश्किल है ... हो सकता है कि आप फ़ाइल किसी भी तरह साझा कर सकता (http://www.filedropper.com या समान) ?

+0

संभावित समस्याओं पर अनुमान लगा रहा है, 'getwd() 'और' list.files() '(या' load (file.choose())' चित्रण के लिए कुछ संभावित सहायक उपकरण हैं बाहर फ़ाइल क्यों लोड नहीं हो रही है (यदि यह नहीं है); * और * यह सुनिश्चित करना कि फ़ाइल को वास्तव में 'al.rda' कहा जाता है और 'a1.rda' नहीं ... –

+0

यह वह आदेश है जिसका मैं उपयोग करता हूं> l1 < लोड ("al.rda") > एल 1 त्रुटि: ऑब्जेक्ट 'एल 1' इसके अलावा नहीं मिला: चेतावनी संदेश: बंद करने अप्रयुक्त कनेक्शन 3 (al.rda) – megv

+0

@megv - क्या किया 'लगता है (" लोड ") 'प्रिंट? – Tommy

0

मैं आमतौर पर केवल एक ही ऑब्जेक्ट को सहेजने के लिए सहेजता हूं, और फिर मैं उस ऑब्जेक्ट को लोड का उपयोग करके किसी दिए गए चर नाम में पुनर्प्राप्त करने के लिए निम्न उपयोगिता विधि का उपयोग करता हूं, लेकिन मौजूदा ऑब्जेक्ट्स को ओवरराइट करने से बचने के लिए अस्थायी नामस्थान में। शायद यह रूप में अच्छी तरह से दूसरों के लिए उपयोगी होगा:

load_first_object <- function(fname){ 
    e <- new.env(parent = parent.frame()) 
    load(fname, e) 
    return(e[[ls(e)[1]]]) 
} 

विधि पाठ्यक्रम के नाम भी वस्तुओं और वस्तुओं की सूची वापस करने के लिए बढ़ाया जा सकता है, लेकिन यह सरल संस्करण मेरे लिए सबसे उपयोगी है।

1

मैं ने वही समस्या थी, और इसके बिना हल किया गया था उदाहरण कर

load("al.rda) ठीक काम करता है के लिए आर पुनः स्थापित है, तथापि यदि आप a <- load("al.rda") काम नहीं करेगा है।

+0

हाँ यह मेरी समस्या थी।' भार अपने स्वयं के चर वैल्यू सेट पर सेट करता है। – schoon

+0

एस/लोड 'लोड ("al.rda") के ऊपर अंतराल अंत उद्धरण ' –