[R] sample (randomly select) to get a number of successive days

Dagmar Cimiotti d@gm@r@cimiotti @ending from ftz-we@t@uni-kiel@de
Mon Dec 10 08:37:13 CET 2018

Hi Marc,

Yes, you got it to the point! That is exactly what I want. But I do not know how to do that. I know how to randomly pick the first day but I do not know how to set a range of values which cover the 25 days starting from that random value.



I am confused.

As far as I can tell, only the first day is selected randomly from your dataset. The subsequent 24 days are deterministic, since they need to be consecutive days from the first day, for a total of 25 consecutive days.

Thus, all you need to do is to randomly select 1 day from within the time range of your dataset to be the first day, that is also far enough from the maximum date, to allow you to then select the data from the additional 24 consecutive days.

So randomly pick your first day and set a range of values, covering the 25 days, to use to then subset your full dataset.

What am I missing?


Marc Schwartz

> On Dec 7, 2018, at 7:18 PM, Dagmar Cimiotti<dagmar.cimiotti using ftz-west.uni-kiel.de>  wrote:
> Hi Jim and everyone else,
> Mhm, no this is not what I am looking for. I think in your way I would
> randomly sample two values of day 1 and of day 2. But I want the
> opposite: I want to randomly draw two successive (!) days and put those
> values in a new dataframe to continue working with them.
> In my real data I do have a huge time span and I want to draw 25
> consecutive days. So maybe my example was a little misleading. And now
> that I read it again my text was, too. Sorry about that!
> Good try though and I am very gratefull for your good will to help me
> Would anyone give another try?
> Dagmar
> Am 07.12.2018 um 10:30 schrieb Jim Lemon:
>> Hi Dagmar,
>> This will probably involve creating a variable to differentiate the
>> two days in each data.frame:
>> myframe$day<-as.Date(as.character(myframe$Timestamp),"%d.%m.%Y %H:%M:%S")
>> days<-unique(myframe$day)
>> Then just sample the two subsets and concatenate them:
>> myframe[c(sample(which(myframe$day==days[1]),2),
>>    sample(which(myframe$day==days[2]),2)),]
>> Jim
>> On Fri, Dec 7, 2018 at 8:08 PM Dagmar Cimiotti
>> <dagmar.cimiotti using ftz-west.uni-kiel.de>  wrote:
>>> Dear all,
>>> I have data from a time span like this:
>>> myframe <- data.frame (Timestamp=c("24.09.2012 09:00:00", "24.09.2012
>>> 10:00:00","25.09.2012 09:00:00",
>>>                                       "25.09.2012
>>> 09:00:00","24.09.2012 09:00:00", "24.09.2012 10:00:00"),
>>>                            Event=c(50,60,30,40,42,54) )
>>> myframe
>>> I want to create a new dataframe which includes in this example the
>>> data from two successive days (in my real data I have a big time span
>>> and want data from 25 consecutive days). I understand that I can do a
>>> simple sample like this
>>> mysample <- myframe[sample(1:nrow(myframe), 4,replace=FALSE),]
>>> mysample
>>> But I need the data from consecutive days in my random sample. Can
>>> anyone help me with this?
>>> Many thanks in advance,
>>> Dagmar

	[[alternative HTML version deleted]]

More information about the R-help mailing list