j
में [.data.table
कॉल के लिए अभिव्यक्तियों का निर्माण करते समय, .SD
की सामग्री के साथ जांच करने और खेलने में सक्षम होने में अक्सर मददगार होता।कर सकते हैं। एसडी को ब्राउज़र से [.data.table() में देखा जा सकता है?
यह अनुभवहीन प्रयास काम नहीं करता है ...
library(data.table)
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=1:9)
DT[, browser(), by=x]
# Called from: `[.data.table`(DT, , browser(), by = x)
Browse[1]>
Browse[1]> .SD
# NULL data.table
... भले ही .SD
और वर्तमान data.table सबसेट से संबंधित कई अन्य नाम के एक चर स्थानीय वातावरण में सभी उपस्थित हैं
Browse[1]> ls(all.names = TRUE)
# [1] ".BY" ".GRP" ".I" ".iSD" ".N" ".SD"
# [7] "Cfastmean" "mean" "print" "x"
Browse[1]> .N
# [1] 3
Browse[1]> .I
# [1] 4 5 6
.I
का उपयोग करना, मैं +/- .SD
की तरह कुछ देख सकते हैं, लेकिन यह सक्षम होने के लिए अच्छा होगा सीधे अपने मूल्य तक पहुँचने के लिए:
Browse[1]> DT[.I]
# x y v
# 1: b 1 4
# 2: b 3 5
# 3: b 6 6
मेरे सवालों का: क्यों एक browser()
कॉल में से नहीं सीधे उपलब्ध .SD
की उम्मीद मूल्य (जबकि .I
, .N
, .GRP
और .BY
कर रहे हैं) है? .SD
के मूल्य तक पहुंचने का कोई वैकल्पिक तरीका है?
मैं जीता der, उस समय 'ब्राउज़र()' कहा जाता है, वास्तव में 'एसडी' कुछ भी के साथ आबादी है? 'str (.SD) 'वर्ग' डेटा 'डेटा' और 'data.frame' दिखाता है: \t 0 obs। 0 चर के 0 आदि –
@GavinSimpson - मुझे लगता है कि आप शायद वहां कुछ पर हैं। मैंने जो आंशिक उत्तर अभी जोड़ा है उस दिशा में अतिरिक्त सबूत की तरह लगता है। मुझे आश्चर्य है कि अगर एसएसडी का देरी मूल्यांकन किसी भी तरह से शामिल है। –