Hi
if you have full set of data, so no observation is missing, you can split your
data frame values e.g. by
split(yourdata, trunc(0:nrow(yourdata))/6)
and use lapply or for cycle.
If you need to cut according to dates you can use
?cut
POSIX date.
Cheers
Petr
> -Original Message-
> From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Stefano
> Sofia
> Sent: Friday, September 11, 2015 11:47 AM
> To: r-help@r-project.org
> Subject: [R] how to divide a data frame of half-hourly wind
> observations into subset of three hours
>
> Dear R-users,
> from a data frame of half-hourly wind observations (direction and
> speed, three years data), I need to evaluate the first main direction
> for each period of three hours (h03, h06, h09, h12, h15, h18, h21, h24
> of each day).
>
> The command "windRose" of the package "openair" crates a data frame
> that contains the information I need.
> Can I ask you which is the most efficient way to run the windRose
> command for each subset of three hours?
>
> The initial data frame is called wind_df is like
>
> Date Direction Speed
> 2015-06-30 00:30:00 315 2.9
> 2015-06-30 01:00:00 338 3.5
> 2015-06-30 01:30:00 23 4.8
> 2015-06-30 02:00:00 338 4.1
> 2015-06-30 02:30:00 135 1.1
> 2015-06-30 03:00:00 45 2.7
> 2015-06-30 03:30:00 1.7
> 2015-06-30 04:00:00 293 1
> 2015-06-30 04:30:00 45 1.5
> 2015-06-30 05:00:00 45 2.3
> ...
>
> The command for the wind rose creation is
> output1_df <- windRose(wind_df, ws="Speed", wd="Direction",
> layout=c(1,1), ws.int=4, angle=22.5, type="default", bias.corr=TRUE,
> cols="default", grid.line=NULL, width=2, seg=NULL, auto.text=TRUE,
> breaks=c(0,0.3,1.5,3.4,5.4,7.9,10.7,13.8,17.1,20.7,24.4,28.4,32.6,40),
> offset=5, normalise=TRUE, max.freq=NULL, paddle=TRUE, key.header=NULL,
> key.footer="(km/hr)", key.position="bottom", key=TRUE, dig.lab=2,
> statistic="prop.count", pollutant=NULL, annotate=TRUE, border=NA,
> par.settings=list(fontsize=list(text=10)))
>
> and I evaluate the first main direction through
> output2_df <- output1_df$data
> output2_df$wd[output2_df$freqs == max(output2_df$freqs)])
>
>
> Thank you for your attention and your help
> Stefano Sofia
>
>
>
>
> AVVISO IMPORTANTE: Questo messaggio di posta elettronica può contenere
> informazioni confidenziali, pertanto è destinato solo a persone
> autorizzate alla ricezione. I messaggi di posta elettronica per i
> client di Regione Marche possono contenere informazioni confidenziali e
> con privilegi legali. Se non si è il destinatario specificato, non
> leggere, copiare, inoltrare o archiviare questo messaggio. Se si è
> ricevuto questo messaggio per errore, inoltrarlo al mittente ed
> eliminarlo completamente dal sistema del proprio computer. Ai sensi
> dell’art. 6 della DGR n. 1394/2008 si segnala che, in caso di necessità
> ed urgenza, la risposta al presente messaggio di posta elettronica può
> essere visionata da persone estranee al destinatario.
> IMPORTANT NOTICE: This e-mail message is intended to be received only
> by persons entitled to receive the confidential information it may
> contain. E-mail messages to clients of Regione Marche may contain
> information that is confidential and legally privileged. Please do not
> read, copy, forward, or store this message unless you are an intended
> recipient of it. If you have received this message in error, please
> forward it to the sender and delete it completely from your computer
> system.
>
> [[alternative HTML version deleted]]
>
> __
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-
> guide.html
> and provide commented, minimal, self-contained, reproducible code.
Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou určeny
pouze jeho adresátům.
Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně
jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze
svého systému.
Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email
jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat.
Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či
zpožděním přenosu e-mailu.
V případě, že je tento e-mail součástí obchodního jednání:
- vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy, a
to z jakéhokoliv důvodu i bez uvedení důvodu.
- a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmou