में विरासत में शामिल होने के साथ विरासत में शामिल हों। मैं डेटा.table 1.9.3 पर हूं, और शायद मैं गलत हूं, लेकिन मुझे को पहले उम्मीद की जाने वाली याद नहीं है।डेटा.table
2 data.tables, डीटीए का निर्माण और DTB
> dta
idx vala fdx
1: 1 2 a
2: 2 4 a
3: 3 6 b
> dtb
idx valb
1: 1 3
2: 4 6
> dput(x = dta)
structure(list(idx = c(1, 2, 3), vala = c(2, 4, 6), fdx = c("a",
"a", "b")), .Names = c("idx", "vala", "fdx"), row.names = c(NA,
-3L), class = c("data.table", "data.frame"), .internal.selfref =
<pointer: 0x0000000000110788>, sorted = "idx")
> dput(x = dtb)
structure(list(idx = c(1, 4), valb = c(3, 6)), .Names = c("idx",
"valb"), row.names = c(NA, -2L), class = c("data.table", "data.frame"
), .internal.selfref = <pointer: 0x0000000000110788>, sorted = "idx")
कुंजी दोनों ही मामलों में IDX है।
निम्नलिखित काम करता है, निश्चित रूप से
> dta[dtb, sum(valb)]
[1] 9
हालांकि इस
> dta[dtb, sum(valb), by = fdx]
Error in `[.data.table`(dta, dtb, sum(valb), by = fdx) :
object 'valb' not found
नहीं है लेकिन इस
> dta[dtb][, sum(valb), by = fdx]
fdx V1
1: a 3
2: NA 6
करता है हम मध्यवर्ती चरण
> dta[dtb]
idx vala fdx valb
1: 1 2 a 3
2: 4 NA NA 6
देखते हैं, तो
मैं
dta[dtb, sum(valb), by = fdx] == dta[dtb][, sum(valb), by = fdx]
कहाँ मैं गलत हो गया है की उम्मीद होती?
इस मुद्दे को [FR # 733] (https://github.com/Rdatatable/data.table/issues/733) के रूप में दायर किया। एक संबंधित [एफआर # 732] (https://github.com/Rdatatable/data.table/issues/732) भी दायर किया। धन्यवाद। – Arun
मैं डेटाटेबल 1.9.4 में भी इस व्यवहार (= बग?) को पुन: उत्पन्न कर सकता हूं, क्या कोई खबर है? –