flodel का जवाब अपने आवेदन के लिए काम किया है, तो मैं पद डब्ल्यू हूँ टोपी मैंने इसे बनाया, भले ही यह बहुत ही असीमित है। तुम इतनी तरह एक for
पाश के साथ एक सूची तत्व का उपयोग कर सकते,:
#============== List with five elements of non-uniform length ================#
example.list=
list(letters[1:5], letters[6:10], letters[11:15], letters[16:20], letters[21:26])
#===============================================================================#
#====== for loop that names and concatenates each consecutive element ========#
derp=c(); for(i in 1:length(example.list))
{derp=append(derp,eval(parse(text=example.list[i])))}
derp #Not a particularly useful application here, but it proves the point.
मैं इस तरह कोड का उपयोग कर रहा एक समारोह है कि स्तंभ नाम से एक डेटा फ्रेम से कॉलम की निश्चित सेट कॉल के लिए। उपयोगकर्ता तत्वों के साथ एक सूची में प्रवेश करता है जो प्रत्येक कॉलम नामों के विभिन्न सेटों का प्रतिनिधित्व करता है (प्रत्येक सेट एक माप से संबंधित वस्तुओं का समूह है), और उन सभी कॉलम वाले बड़े डेटा फ्रेम। for
लूप प्रत्येक आंतरिक सूची तत्व पर लागू होता है क्योंकि आंतरिक फ़ंक्शन * के लिए स्तंभ नामों के सेट के रूप में केवल बड़े डेटा फ्रेम के कॉलम के वर्तमान नाम पर लागू होता है। इसके बाद यह उस डेटा लूप के नंबर के अनुरूप सूची के तत्व में नामों के अनुरूप बड़े डेटा फ्रेम के सबसेट के आउटपुट के साथ एक मैट्रिक्स के एक कॉलम प्रति लूप को पॉप्युलेट करता है। for
लूप के बाद, फ़ंक्शन द्वारा निर्मित उस मैट्रिक्स को आउटपुट करके समाप्त होता है।
सुनिश्चित नहीं है कि आप अपनी सूची तत्वों के साथ कुछ ऐसा करने की सोच रहे हैं, लेकिन मुझे खुशी है कि मैंने इस चाल को उठाया। विचारों के लिए सभी को धन्यवाद!
"दूसरा उदाहरण"/स्पर्शरेखा वर्गीकृत प्रतिक्रिया मॉडल कारक में आवेदन के संबंध में जानकारी स्कोरिंग:
यहाँ समारोह मैं ऊपर वर्णित है, बस के मामले में किसी को भी बड़े में वर्गीकृत प्रतिक्रिया मॉडल कारक स्कोर * गणना करने के लिए चाहता है बैच ... आउटपुट मैट्रिक्स का प्रत्येक कॉलम सूची के एक तत्व से मेल खाता है (यानी, सूची तत्व में कॉलम नाम द्वारा निर्दिष्ट क्रमिक सूचक आइटम के साथ एक गुप्त विशेषता), और पंक्तियां डेटा फ्रेम की पंक्तियों से मेल खाती हैं इनपुट। प्रत्येक पंक्ति में संभावित रूप से पारस्परिक रूप से निर्भर अवलोकन होते हैं, जैसा किसी दिए गए व्यक्ति से होता है, जिसके लिए आउटपुट मैट्रिक्स की एक ही पंक्ति में कारक स्कोर होते हैं।साथ ही, मुझे लगता है कि मुझे यह जोड़ना चाहिए कि यदि किसी दिए गए सूची तत्व में सभी आइटम सटीक समान Likert स्केल रेटिंग विकल्पों का उपयोग करते हैं, तो वर्गीकृत प्रतिक्रिया मॉडल रेटिंग स्केल मॉडल (सीएफ http://www.rasch.org/rmt/rmt143k.htm) से कारक स्कोरिंग के लिए कम उपयुक्त हो सकता है।
'grmscores'=function(ColumnNameList,DataFrame) {require(ltm) #(Rizopoulos,2006)
x = matrix (NA , nrow = nrow (DataFrame), ncol = length (ColumnNameList))
for(i in 1:length(ColumnNameList)) #flodel's magic featured below!#
{x[,i]=factor.scores(grm(DataFrame[, eval(parse(text= ColumnNameList[i]))]),
resp.patterns=DataFrame[,eval(parse(text= ColumnNameList[i]))])$score.dat$z1}; x}
संदर्भ
* Rizopoulos, डी (2006)। एलटीएम: लेटेबल वेरिएबल मॉडलिंग और आइटम प्रतिक्रिया सिद्धांत विश्लेषण के लिए एक आर पैकेज, सांख्यिकीय सॉफ्टवेयर जर्नल, 17 (5), 1-25। यूआरएल: http://www.jstatsoft.org/v17/i05/
आपको त्रुटि मिलने का कारण यह है कि 'example.list $ विशेषता' एक वस्तु नहीं है लेकिन यह ऑपरेटर ('$', उर्फ निकालने, कोशिश - '? '' बैकटिक" लागू करने का परिणाम है '$' "बैकटिक) जोड़ी '(example.list, विशेषता)' – Ryogi