I am not replying to the earlier request just to the part right below my message.
A simple suggestion when sending people code is to add NOTHING except proper comments. Can we assume the extra asterisks are superfluous and not in your code? I mean your column is named "Period" and not "*Period" and your meaningless call to format(...) was not to *format(...)* ... And I note in R upper and lower case are not interchangeable. CPI as a column name does not match: class(inflation.2$cpi) I am not clear what the above is supposed to do. What do you want to set the class of a column in a data.frame to? If I am guessing correctly, the normal way people do a change from one TYPE to another looks more like: after <- as.character(before) In your case, your data is of type character and you want to make it a date of one kind or another. If you do a little searching, you may find a bunch of ways to convert properly formatted strings to dates or date/time types. Your data is NOT a standard date format so none of the standard ones will work. I am guessing "2022m1" may mean first month in 2022 and goes as high as 2022m12 before shifting to 2023. Good luck with that. It is far easier if your data looked like "2022-01-01" or some such format that might be read easily. You need to do one of many things I will not show here to break that date into parts or have it parsed properly as with a function like strptime() using a package. As a general comment, I hope your meaning of command line is within the R in interpreter rather than other meanings like for some shell utility. And note that generally the R method of handling a data.frame using base R or a package like dplyr requires most changes to be saved into the same or a new variable. Your sample code makes no sense to me. So assuming at some point your code got the data you want into a data.frame with a character column called inflation.1$Period, then base R would allow you to call some function that does the conversion, which I am calling doit() here) this way: inflation.1$Period <- doit(inflation.1$Period) Good Luck. You need to show a bit more knowledge of R before people can help you with more advanced tasks. -----Original Message----- From: R-help <r-help-boun...@r-project.org> On Behalf Of Admire Tarisirayi Chirume Sent: Thursday, September 29, 2022 12:36 PM To: Jeff Newmiller <jdnew...@dcn.davis.ca.us> Cc: r-help mailing list <r-help@r-project.org> Subject: [R] Converting a Date variable from character to Date 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: addtar...@icloud.com/tchir...@rbz.co.zw Skype: admirechirume Call: +263773369884 whatsapp: +818099861504 ______________________________________________ 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.