मैं डेटाटेबल का उपयोग करके एक पूर्ण कार्टेशियन जुड़ने की कोशिश कर रहा हूं लेकिन थोड़ी किस्मत के साथ।कार्टेशियन डेटाटेबल में शामिल हों
कोड:
a = data.table(dt=c(20131017,20131018))
setkey(a,dt)
b = data.table(ticker=c("ABC","DEF","XYZ"),ind=c("MISC1","MISC2","MISC3"))
setkey(b,ticker)
अपेक्षित उत्पादन:
merge(data.frame(a),data.frame(b),all.x=TRUE,all.y=TRUE)
मैं merge(a,b,allow.cartesian=TRUE)
की कोशिश की है, लेकिन यह मुझे त्रुटि निम्न देता है - "Error in merge.data.table(a, b, allow.cartesian = TRUE) : A non-empty vector of column names for
is required.
द्वारा"
मैं नवीनतम data.table
पैकेज के साथ "R version 3.0.1 (2013-05-16)
" का उपयोग कर रहा हूं। किसी भी तरह की सहायता का स्वागत किया जाएगा!
सादर
यह और अधिक एक 'merge'-समस्या से एक' expand.grid' की तरह समस्या की तरह लग रहा है। आपके पास कोई सामान्य चर नहीं है। –
कार्टेजियन द्वारा मर्ज फ़ंक्शन का उपयोग करके आवश्यक आउटपुट प्राप्त किया जाता है लेकिन यह डेटा.फ्रेम पर काम करता है और यदि संभव हो तो मैं डेटाटेबल समाधान की तलाश में हूं। – Manoj
मैं आमतौर पर एक डमी चर जोड़ता हूं, उस चर द्वारा विलय करता हूं, और 'allow.cartesian = TRUE' है। 'सीजे' और 'expand.grid' वैक्टर में शामिल हो सकते हैं लेकिन मुझे दो टेबलों का क्रॉस-जॉइन बनाने के लिए कभी भी बेस फ़ंक्शन नहीं मिल सका। क्या कोई इस तरह के एक समारोह को इंगित कर सकता है, यदि यह मौजूद है? – TheComeOnMan