Skip to content
Back to formatted view

Raw Message

Message-ID: <552cbeae-4d11-c13d-8aa6-0bacd2ffc901@sapo.pt>
Date: 2020-08-03T08:24:13Z
From: Rui Barradas
Subject: Parsing a Date
In-Reply-To: <a5e29edb-b03a-dbd0-1b5f-37f9e8bde4cd@sapo.pt>

Hello,

I'm reposting, I sent the previous in HTML format.
My apologies, I'm not at my computers.

And another solution, taking advantage of Rasmus' one:


simplify2array(parallel::mclapply(c(
 ?"%Y",
 ?"%m",
 ?"%d",
 ?"%H"), function(fmt, x) {
 ?as.integer(format(as.POSIXct(x), format = fmt))
}, x = dta$forecast.date))
#???? [,1] [,2] [,3] [,4]
#[1,] 2020??? 8??? 1?? 12
#[2,] 2020??? 8??? 1?? 12
#[3,] 2020??? 8??? 1?? 12
#[4,] 2020??? 8??? 1?? 12
#[5,] 2020??? 8??? 1?? 12



The data set dta is Jeff's, it's in dput format.

Hope this helps,

Rui Barradas



?s 22:54 de 02/08/2020, Rui Barradas escreveu:
> Hello,
>
> And another solution, taking advantage of Rasmus' one:
>
>
>
> simplify2array(parallel::mclapply(c(
>   ? "%Y",
>   ? "%m",
>   ? "%d",
>   ? "%H"), function(fmt, x) {
>   ??? as.integer(format(as.POSIXct(x), format = fmt))
> }, x = dta$forecast.date))
> #???? [,1] [,2] [,3] [,4]
> #[1,] 2020??? 8??? 1?? 12
> #[2,] 2020??? 8??? 1?? 12
> #[3,] 2020??? 8??? 1?? 12
> #[4,] 2020??? 8??? 1?? 12
> #[5,] 2020??? 8??? 1?? 12
>
>
> The data set dta is Jeff's, it's in dput format.
>
> Hope this helps,
>
> Rui Barradas
>
> ?s 18:26 de 02/08/2020, Rasmus Liland escreveu:
>> On 2020-08-02 09:24 -0700, Philip wrote:
>> | Below is some Weather Service data.  I
>> | would like to parse the forecast date
>> | field into four different columns:
>> | Year, Month, Day, Hour
>>
>> Dear Philip,
>>
>> I'm largely re-iterating Eric and Jeff's
>> excellent solutions:
>>
>> 	> dat <- structure(list(forecast.date =
>> 	+ c("2020-08-01 12:00:00",
>> 	+ "2020-08-01 12:00:00",
>> 	+ "2020-08-01 12:00:00",
>> 	+ "2020-08-01 12:00:00",
>> 	+ "2020-08-01 12:00:00"
>> 	+ ), TMP = c("305.495", "305.245",
>> 	+ "305.057", "305.745", "305.495"
>> 	+ )), row.names = c(NA, 5L),
>> 	+ class = "data.frame")
>> 	> t(apply(simplify2array(
>> 	+   strsplit(dat$forecast.date, "-| |:")),
>> 	+   2, as.numeric))
>> 	     [,1] [,2] [,3] [,4] [,5] [,6]
>> 	[1,] 2020    8    1   12    0    0
>> 	[2,] 2020    8    1   12    0    0
>> 	[3,] 2020    8    1   12    0    0
>> 	[4,] 2020    8    1   12    0    0
>> 	[5,] 2020    8    1   12    0    0
>> 	> simplify2array(parallel::mclapply(c(
>> 	+   lubridate::year,
>> 	+   lubridate::month,
>> 	+   lubridate::day,
>> 	+   lubridate::hour), function(FUN, x) {
>> 	+     FUN(x)
>> 	+   }, x=dat$forecast.date))
>> 	     [,1] [,2] [,3] [,4]
>> 	[1,] 2020    8    1   12
>> 	[2,] 2020    8    1   12
>> 	[3,] 2020    8    1   12
>> 	[4,] 2020    8    1   12
>> 	[5,] 2020    8    1   12
>>
>> V
>>
>> r
>>
>> ______________________________________________
>> R-help at 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.
>
>
>
> ______________________________________________
> R-help at 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.


-- 
Este e-mail foi verificado em termos de v?rus pelo software antiv?rus Avast.
https://www.avast.com/antivirus