मैं कई डेटासेट में मॉडल फिट करने के लिए पैकेज glmulti का उपयोग कर रहा हूं। सब कुछ काम करता है अगर मैं एक समय में एक डेटासेट फिट करता हूं।मैं फ़ंक्शन में डेटासेट क्यों नहीं दे सकता?
उदाहरण के लिएतो:
output <- glmulti(y~x1+x2,data=dat,fitfunction=lm)
काम करता है ठीक।
हालांकि, अगर मैं इतना की तरह एक आवरण समारोह बनाने के लिए:
analyze <- function(dat)
{
out<- glmulti(y~x1+x2,data=dat,fitfunction=lm)
return (out)
}
बस काम नहीं करता। मुझे मिली त्रुटि
error in evaluating the argument 'data' in selecting a method for function 'glmulti'
जब तक डेटा नामक डेटा फ्रेम नहीं है, तो यह काम नहीं करता है। अगर मैं results=lapply(list_of_datasets, analyze)
का उपयोग करता हूं, तो यह काम नहीं करता है। तो क्या देता है? मेरे कहा रैपर के बिना, मैं इस समारोह के माध्यम से डेटासेट की एक सूची नहीं कर सकता। अगर किसी के पास विचार या विचार हैं कि यह क्यों हो रहा है या मैं इसके आसपास कैसे हो सकता हूं, तो यह बहुत अच्छा होगा।
उदाहरण 2:
dat=list_of_data[[1]]
analyze(dat)
ठीक काम करता है। तो एक अर्थ में यह तर्क को अनदेखा कर रहा है और सिर्फ शाब्दिक रूप से डेटा नामक डेटा फ्रेम की तलाश में है। इससे कोई फर्क नहीं पड़ता कि मैं इसे क्या कहता हूं।
धन्यवाद एक टन जोरीस। मुझे वास्तव में बैठना होगा और एस 4 विधियों पर हड्डी लगाना चाहिए। कम से कम अब मैं देख सकता हूं कि यह कामकाज कैसे व्यवहार करता है। खुश होती है। – Maiasaura
यह तब तक अच्छा व्यवहार करता है जब तक आपके पास अपने कार्यक्षेत्र में "डेटा" नामक ऑब्जेक्ट नहीं है। यदि ऐसा है, तो वह असाइन() फ़ंक्शन द्वारा ओवरराइट किया जाएगा। यह कुछ है जो आप निश्चित रूप से टालना चाहते हैं ... –
एस 4 और WebobalEnv फिर से नहीं: माथे पर थप्पड़ मारो:। –