एक दिन पहले यहां एक पोस्ट में मुझे आश्चर्य है कि एक समारोह के भीतर से वैश्विक वातावरण में कई ऑब्जेक्ट्स को मूल्य कैसे असाइन करना है। यह मेरा प्रयास है lapply
(assign
<<-
से अधिक सुरक्षित हो सकता है लेकिन मैंने वास्तव में इसका उपयोग कभी नहीं किया है और इससे परिचित नहीं हूं)।फ़ंक्शन के भीतर से WebobalEnv को एकाधिक ऑब्जेक्ट असाइन करें
#fake data set
df <- data.frame(
x.2=rnorm(25),
y.2=rnorm(25),
g=rep(factor(LETTERS[1:5]), 5)
)
#split it into a list of data frames
LIST <- split(df, df$g)
#pre-allot 5 objects in R with class data.frame()
V <- W <- X <- Y <- Z <- data.frame()
#attempt to assign the data frames in the LIST to the objects just created
lapply(seq_along(LIST), function(x) c(V, W, X, Y, Z)[x] <<- LIST[[x]])
कृपया इस काम को करने के लिए मेरे कोड के किसी भी/सभी हिस्सों को छोटा करने के लिए स्वतंत्र महसूस करें (या बेहतर/तेज काम करें)।
यह सवाल या इसका कोई जवाब एक बड़े "बच्चों के साथ आना चाहिए, घर पर ऐसा मत करो!" अस्वीकरण। जैसा कि आप जानते हैं, रिचर्ड बर्न्स (http://www.burns-stat.com/pages/Tutor/R_inferno.pdf) – flodel
@flodel उद्धृत करने के लिए कार्यों के भीतर वैश्विक असाइनमेंट आपदा के लिए एक नुस्खा है, या "ज्वालामुखी द्वारा जीवन" मैं कोई प्रोग्रामर नहीं हूं, तो क्या आप संक्षेप में बता सकते हैं कि कार्य करने का मुद्दा क्या है? –
तो मैंने आपके द्वारा उद्धृत अनुभाग को पढ़ा। यह सार्वजनिक उपभोग के लिए कोड के लिए बुद्धिमान लगता है लेकिन व्यक्तिगत कोड के लिए नहीं। क्या आप इसे प्रभावित करने के लिए एक तरीका देख सकते हैं? –