नीचे (सीधा sqldf उपयोग करते हुए) ऐसा कैसे करें data.table का उपयोग करने और पाने ठीक उसी परिणाम:डेटा.table का उपयोग कर तिथि सीमाओं में शामिल होने के लिए कैसे करें?
library(data.table)
whatWasMeasured <- data.table(start=as.POSIXct(seq(1, 1000, 100),
origin="1970-01-01 00:00:00"),
end=as.POSIXct(seq(10, 1000, 100), origin="1970-01-01 00:00:00"),
x=1:10,
y=letters[1:10])
measurments <- data.table(time=as.POSIXct(seq(1, 2000, 1),
origin="1970-01-01 00:00:00"),
temp=runif(2000, 10, 100))
## Alternative short names for data.tables
dt1 <- whatWasMeasured
dt2 <- measurments
## Straightforward with sqldf
library(sqldf)
sqldf("select * from measurments m, whatWasMeasured wwm
where m.time between wwm.start and wwm.end")
क्या इससे आपकी समस्या हल हो जाती है? http://stackoverflow.com/questions/5123197/matching-time-a-time-in-the-interval-between-a-start-and-end-time –
@ डेविड रॉबिन्सन धन्यवाद। मैंने वास्तव में यह प्रश्न और उत्तर देखा है, लेकिन दुर्भाग्य से मेरा डेटा वॉल्यूम बड़ा है और वास्तव में एक तेज़ डेटा.table समाधान पसंद करेगा ... – Samo
मुझे पता है कि यह थोड़ा अपरिवर्तित है, लेकिन क्या मैं अकेला हूं-दिसंबर -31-19 6 9 खजूर? क्या यह जनवरी -1-19 70 नहीं होना चाहिए? –