में गतिशील कॉलम नाम मैं अपने data.table
पर कॉलम जोड़ने की कोशिश कर रहा हूं, जहां नाम गतिशील हैं। मैं इन कॉलम को जोड़ने के दौरान by
तर्क का उपयोग करने की आवश्यकता है।डेटा.table
test_dtb <- data.table(a = sample(1:100, 100), b = sample(1:100, 100), id = rep(1:10,10))
cn <- parse(text = "blah")
test_dtb[ , eval(cn) := mean(a), by = id]
# Error in `[.data.table`(test_dtb, , `:=`(eval(cn), mean(a)), by = id) :
# LHS of := must be a single column name when with=TRUE. When with=FALSE the LHS may be a vector of column names or positions.
एक और प्रयास: मैथ्यू से
cn <- "blah"
test_dtb[ , cn := mean(a), by = id, with = FALSE]
# Error in `[.data.table`(test_dtb, , `:=`(cn, mean(a)), by = id, with = FALSE) : 'with' must be TRUE when 'by' or 'keyby' is provided
अद्यतन:
यह अब आर-फोर्ज v1.8.3 में काम करता है उदाहरण के लिए। हाइलाइट करने के लिए धन्यवाद!
नया उदाहरण के लिए इस समान प्रश्न देखें:
Assign multiple columns using data.table, by group
शानदार, धन्यवाद। मैं शपथ ले सकता था कि मैंने उस बदलाव की कोशिश की लेकिन स्पष्ट रूप से मैंने नहीं किया। बहुत सराहना की मदद करें। – Alex
+1 इस प्रश्न का लिंक जोड़ा गया [FR # 2120] (https://r-forge.r-project.org/tracker/index.php?func=detail&aid=2120&group_id=240&atid=978)। लगता है कि काफी कुछ आ रहा है। –