Thanks, Jeff.

I follow what you're doing below, but know I need to read up on Date /
POSIXct.  Helpful direction!  :)

On Sat, 20 Nov 2021 at 18:41, Jeff Newmiller <jdnew...@dcn.davis.ca.us> wrote:
>
> Beat me to it! But it is also worth noting that once converted to Date or 
> POSIXct, timestamps should be treated as data without regard to how that data 
> is displayed. When you choose to output that data you will have options as to 
> the display format associated with the function you are using for output.
>
> My take:
>
> dta <- read.table( text=
> "Buffer    28/10/2016    19/11/2016  31/12/2016    16/01/2017    05/03/2017
> 100    2.437110889    -8.69674895    3.239299816    2.443183304    2.346743827
> 200    2.524329899    -7.688862068    3.386811734    2.680347706    
> 2.253885237
> 300    2.100784256    -8.059855835    3.143786507    2.615152896    
> 2.015645973
> 400    1.985608385    -10.6707206    2.894572791    2.591925038    2.057913137
> 500    1.824982163    -9.122519736    2.560350727    2.372226799    
> 1.995863839
> ", header=TRUE, check.names=FALSE, as.is=TRUE)
>
> dta
>
> library(dplyr)
> library(tidyr)
>
> dt_fmt <- "%d/%m/%Y"
>
> dta_long <- (   dta
>             %>% pivot_longer( cols = -Buffer
>                             , names_to = "dt_chr"
>                             , values_to = "LST"
>                             )
>             %>% mutate( dt_date = as.Date( dt_chr, format = dt_fmt )
>                       , dt_POSIXct = as.POSIXct( dt_chr, format = dt_fmt, tz 
> = "Etc/GMT+8" )
>                       )
>             )
>
> dta_long
>
> On November 20, 2021 10:01:56 AM PST, Andrew Simmons <akwsi...@gmail.com> 
> wrote:
> >The as.Date function for a character class argument will try reading in two
> >formats (%Y-%m-%d and %Y/%m/%d).
> >
> >
> >This does not look like the format you have provided, which is why it
> >doesn't work. Try something like:
> >
> >
> >x <- c("28/10/2016", "19/11/2016", "31/12/2016", "16/01/2016", "05/03/2017")
> >as.Date(x, format = "%d/%m/%Y")
> >
> >
> >which produces this output:
> >
> >
> >> x <- c("28/10/2016", "19/11/2016", "31/12/2016", "16/01/2016",
> >"05/03/2017")
> >> as.Date(x, format = "%d/%m/%Y")
> >[1] "2016-10-28" "2016-11-19" "2016-12-31" "2016-01-16" "2017-03-05"
> >>
> >
> >
> >much better than before! I hope this helps
> >
> >On Sat, Nov 20, 2021 at 12:49 PM Philip Monk <prm...@gmail.com> wrote:
> >
> >> Thanks Eric & Jeff.
> >>
> >> I'll certainly read up on lubridate, and the posting guide (again)
> >> (this should be in plain text).
> >>
> >> CSV extract below...
> >>
> >> Philip
> >>
> >> Buffer    28/10/2016    19/11/2016    31/12/2016    16/01/2017
> >> 05/03/2017
> >> 100    2.437110889    -8.69674895    3.239299816    2.443183304
> >> 2.346743827
> >> 200    2.524329899    -7.688862068    3.386811734    2.680347706
> >> 2.253885237
> >> 300    2.100784256    -8.059855835    3.143786507    2.615152896
> >> 2.015645973
> >> 400    1.985608385    -10.6707206    2.894572791    2.591925038
> >> 2.057913137
> >> 500    1.824982163    -9.122519736    2.560350727    2.372226799
> >> 1.995863839
> >>
> >>
> >> On Sat, 20 Nov 2021 at 17:08, Philip Monk <prm...@gmail.com> wrote:
> >> >
> >> > Hello,
> >> >
> >> > Simple but infuriating problem.
> >> >
> >> > Reading in CSV of data using :
> >> >
> >> > ```
> >> > # CSV file has column headers with date of scene capture in format
> >> dd/mm/yyyy
> >> > # check.names = FALSE averts R incorrectly processing dates due to '/'
> >> > data <- read.csv("C:/R_data/Bungala (b2000) julian.csv", check.names =
> >> FALSE)
> >> >
> >> > # Converts data table from wide (many columns) to long (many rows) and
> >> creates the new object 'data_long'
> >> > # Column 1 is the 'Buffer' number (100-2000), Columns 2-25 contain
> >> monthly data covering 2 years (the header row being the date, and rows 2-21
> >> being a value for each buffer).
> >> > # Column headers for columns 2:25 are mutated into a column called
> >> 'Date', values for each buffer and each date into the column 'LST'
> >> > data_long <- data %>% pivot_longer(cols = 2:25, names_to = "Date",
> >> values_to = "LST")
> >> >
> >> > # Instructs R to treat the 'Date' column data as a date
> >> > data_long$Date <- as.Date(data_long$Date)
> >> > ```
> >> >
> >> > Using str(data), I can see that R has correctly read the dates in the
> >> format %d/%m/%y (e.g. 15/12/2015) though has the data type as chr.
> >> >
> >> > Once changing the type to 'Date', however, the date is reconfigured.
> >> For instance, 15/01/2010 (15 January 2010), becomes 0015-01-20.
> >> >
> >> > I've tried ```data_long$Date <- as.Date(data_long$Date, format =
> >> "%d/%m.%y")```, and also ```tryformat c("%d/%m%y")```, but either the error
> >> persists or I get ```NA```.
> >> >
> >> > How do I make R change Date from 'chr' to 'date' without it going wrong?
> >> >
> >> > Suggestions/hints/solutions would be most welcome.  :)
> >> >
> >> > Thanks for your time,
> >> >
> >> > Philip
> >> >
> >> > Part-time PhD Student (Environmental Science)
> >> > Lancaster University, UK.
> >> >
> >> > ~~~~~
> >> >
> >> > I asked a question a few weeks ago and put together the answer I needed
> >> from the responses but didn't know how to say thanks on this list.  So,
> >> thanks Andrew Simmons, Bert Gunter, Jeff Newmiller and Daniel Nordlund!
> >>
> >> ______________________________________________
> >> 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.
> >>
> >
> >       [[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.
>
> --
> Sent from my phone. Please excuse my brevity.

______________________________________________
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.

Reply via email to