दिलचस्प पोस्ट
क्या मैं ASP.NET MVC में "विचारों की खोज" के लिए एक कस्टम स्थान निर्दिष्ट कर सकता हूं? फिक्स्ड स्थिति लेकिन कंटेनर के सापेक्ष जावास्क्रिप्ट और jQuery, क्रॉस-ब्राउज़र का उपयोग कर कुंजी-प्रेस इवेंट्स (एफ 1-एफ 12) को संभालना इनपुट बॉक्स में बूटस्ट्रैप Glyphicon जोड़ें एंड्रॉइड एनीमेशन ड्रेनेबल और एनीमेशन समाप्त होने पर जानना मैं एक फ़ंक्शन को एक ऑनक्लिक विशेषता से स्पष्ट नाम क्यों नहीं बुला सकता हूं? एंड्रॉइड में विभिन्न वैल्यू फ़ोल्डर्स PHP में थ्रेड सुरक्षित या गैर-धागा सुरक्षित क्या है? गणना असर w / Haversine फ़ंक्शन के लिए CLLocation श्रेणी पीएसपी और लिनक्स के माध्यम से पीडीओ का उपयोग करके mssql से कनेक्ट करना PHP: "नोटिस: अपरिभाषित चर", "नोटिस: अपरिभाषित सूचकांक", और "नोटिस: अपरिभाषित ऑफ़सेट" ईएफ कोड-पहले एक-से-एक रिश्ते: रिलेशनशिप में भूमिका * में बहुलता मान्य नहीं है जावास्क्रिप्ट में शून्य ऑपरेटर का क्या मतलब है? सूरज क्यों होता है। Mesc.Unsafe अस्तित्व में है, और इसे वास्तविक दुनिया में कैसे इस्तेमाल किया जा सकता है? PHP / XAMPP में कर्ल को कैसे सक्षम करें

कुशलता से दो तिथियों के बीच समय और तिथियों का यादृच्छिक नमूना उत्पन्न करता है

मैंने दो निर्दिष्ट दिनों के बीच एक तिथि / समय यादृच्छिक रूप से चुनने के लिए एक (काफी सरल) फ़ंक्शन लिखा है

# set start and end dates to sample between day.start <- "2012/01/01" day.end <- "2012/12/31" # define a random date/time selection function rand.day.time <- function(day.start,day.end,size) { dayseq <- seq.Date(as.Date(day.start),as.Date(day.end),by="day") dayselect <- sample(dayseq,size,replace=TRUE) hourselect <- sample(1:24,size,replace=TRUE) minselect <- sample(0:59,size,replace=TRUE) as.POSIXlt(paste(dayselect, hourselect,":",minselect,sep="") ) } 

जिसके परिणामस्वरूप:

 > rand.day.time(day.start,day.end,size=3) [1] "2012-02-07 21:42:00" "2012-09-02 07:27:00" "2012-06-15 01:13:00" 

लेकिन ऐसा लगता है कि नमूना आकार की रैंप अप के रूप में काफी धीमा हो रही है

 # some benchmarking > system.time(rand.day.time(day.start,day.end,size=100000)) user system elapsed 4.68 0.03 4.70 > system.time(rand.day.time(day.start,day.end,size=200000)) user system elapsed 9.42 0.06 9.49 

क्या किसी को यह सुझाव देने में सक्षम है कि इसे और अधिक कुशल तरीके से कैसे करना है?

वेब के समाधान से एकत्रित समाधान "कुशलता से दो तिथियों के बीच समय और तिथियों का यादृच्छिक नमूना उत्पन्न करता है"

आह, एक अन्य तारीख / समय समस्या हम फ्लोट्स में काम करने के लिए कम कर सकते हैं 🙂

इस फ़ंक्शन को आज़माएं

 R> latemail <- function(N, st="2012/01/01", et="2012/12/31") { + st <- as.POSIXct(as.Date(st)) + et <- as.POSIXct(as.Date(et)) + dt <- as.numeric(difftime(et,st,unit="sec")) + ev <- sort(runif(N, 0, dt)) + rt <- st + ev + } R> 

हम सेकंड में difftime गणना करते हैं, और फिर "केवल" परिणाम पर छांटने के लिए, इसके ऊपर वर्दी difftime । इसे प्रारंभ करने के लिए जोड़ें और आप कर रहे हैं:

 R> set.seed(42); print(latemail(5)) ## round to date, or hour, or ... [1] "2012-04-14 05:34:56.369022 CDT" "2012-08-22 00:41:26.683809 CDT" [3] "2012-10-29 21:43:16.335659 CDT" "2012-11-29 15:42:03.387701 CST" [5] "2012-12-07 18:46:50.233761 CST" R> system.time(latemail(100000)) user system elapsed 0.024 0.000 0.021 R> system.time(latemail(200000)) user system elapsed 0.044 0.000 0.045 R> system.time(latemail(10000000)) ## a few more than in your example :) user system elapsed 3.240 0.172 3.428 R> 

ऐसा कुछ भी काम करेगा यादृच्छिक डेटा फ्रेम के लिए क्षमा करें, मैंने इसे फेंक दिया जिससे आप एक भूखंड देख सकें।

 data=as.data.frame(list(ID=1:10, variable=rnorm(10,50,10))) #This function will generate a uniform sample of dates from #within a designated start and end date: rand.date=function(start.day,end.day,data){ size=dim(data)[1] days=seq.Date(as.Date(start.day),as.Date(end.day),by="day") pick.day=runif(size,1,length(days)) date=days[pick.day] } #This will create a new column within your data frame called date: data$date=rand.date("2014-01-01","2014-02-28",data) #and this will order your data frame by date: data=data[order(data$date),] #Finally, you can see how the data looks plot(data$date,data$variable,type="b")