[R] Converting a Date variable from character to Date

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Thu Sep 29 21:00:42 CEST 2022


Hello,

You have to paste a day begore coercing to class "Date". A usual choice 
for this is day 1.


inflation.2 <- 'Period            CPI
2022m1         4994
2022m2         5336
2022m3         5671
2022m4         6532
2022m5         7973
2022m6        10365
2022m7        12673
2022m8        14356
2022m9        14708
'
inflation.2 <- read.table(textConnection(inflation.2), header = TRUE)

inflation.2$Period2 <- as.Date(paste(inflation.2$Period, 1), "%Ym%m %d")
inflation.2
#>   Period   CPI    Period2
#> 1 2022m1  4994 2022-01-01
#> 2 2022m2  5336 2022-02-01
#> 3 2022m3  5671 2022-03-01
#> 4 2022m4  6532 2022-04-01
#> 5 2022m5  7973 2022-05-01
#> 6 2022m6 10365 2022-06-01
#> 7 2022m7 12673 2022-07-01
#> 8 2022m8 14356 2022-08-01
#> 9 2022m9 14708 2022-09-01

format(inflation.2$Period2, "%Y-%m")
#> [1] "2022-01" "2022-02" "2022-03" "2022-04" "2022-05" "2022-06" "2022-07"
#> [8] "2022-08" "2022-09"

zoo::as.yearmon(inflation.2$Period2)
#> [1] "Jan 2022" "Feb 2022" "Mar 2022" "Apr 2022" "May 2022" "Jun 2022" 
"Jul 2022"
#> [8] "Aug 2022" "Sep 2022"


Hope this helps,

Rui Barradas

Às 17:35 de 29/09/2022, Admire Tarisirayi Chirume escreveu:
> Kindly request assistance to *convert a Date variable from a character to
> be recognized as a date*.
> NB: kindly take note that the data is in a csv file called *inflation*. I
> have included part of the file content herewith with the header for
> assistance.
> 
> 
> My data looks like this:
> *Period            CPI*
> 2022m1         4994
> 2022m2         5336
> 2022m3         5671
> 2022m4         6532
> 2022m5         7973
> 2022m6        10365
> 2022m7        12673
> 2022m8        14356
> 2022m9        14708
> 
>   I used the following command lines.
> 
> 
> class(inflation.2$cpi)
> inflation.2$cpi <- as.numeric(as.character(inflation.2$cpi))
> *format(as.Date(inflation.2$period), "%Y-%m")*
> 
> Having run the command lines above, the variable *period* in the attached
> CSV file remains being read as a character variable. Kindly assist.
> 
> Thank you.
> 
> 
> Alternative email: addtarris using icloud.com/TChirume using rbz.co.zw
> Skype: admirechirume
> Call: +263773369884
> whatsapp: +818099861504
> 
> 
> On Thu, Sep 29, 2022 at 6:10 PM Jeff Newmiller <jdnewmil using dcn.davis.ca.us>
> wrote:
> 
>> Your attachment was stripped by the mailing list. The criteria for allowed
>> attachments are a bit tricky to translate into actions to apply to your
>> email software, so usually including part of your file in the body of the
>> email is the most successful approach for communicating your problem. Be
>> sure to use a text editor or the
>>
>>    readLines("filename.csv") |> head() |> dput()
>>
>> functions in R to extract lines of your file for inclusion in the email.
>>
>> On September 29, 2022 8:52:30 AM PDT, Admire Tarisirayi Chirume <
>> atchirume using gmail.com> wrote:
>>> I kindly request for assistance to convert a Date variable from a
>> character
>>> to be recognised as a date. I used the following command lines.
>>>
>>> inflation<-read.csv("Inflation_forecasts_1.csv")
>>> attach(inflation)
>>> inflation[,1:2 ] #subsetting the dataframe
>>> #Renaming variables
>>> inflation<- rename(inflation.df,
>>>                    cpi = CPI,
>>>                    year=period)
>>>
>>> #subsetting data April 2020 to current
>>> inflation.2<-data.frame(inflation[-c(1:135),])
>>> class(inflation.2$cpi)
>>> inflation.2$cpi <- as.numeric(as.character(inflation.2$cpi))
>>> * format(as.Date(inflation.2$period), "%Y-%m")*
>>>
>>> Having ran the command lines above, the variable period in the attached
>> csv
>>> file remains being read as a character variable. Kindly assist.
>>>
>>> Thank you.
>>> ______________________________________________
>>> R-help using 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.
>>
>> --
>> Sent from my phone. Please excuse my brevity.
>>
>



More information about the R-help mailing list