Re: [R] how to divide a data frame of half-hourly wind observations into subset of three hours

2015-09-11 Thread PIKAL Petr
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

[R] how to divide a data frame of half-hourly wind observations into subset of three hours

2015-09-11 Thread Stefano Sofia
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.