[R] How to plot dates

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Tue Mar 16 20:59:12 CET 2021


Hello,

I don't really understand what is to be plotted, just the time of the 
event? But what event?

Anyway, with the data read with Sarah's code, maybe


library(ggplot2)

ggplot(myDat, aes(x = datetime, y = 1)) +
   geom_linerange(aes(ymin = 0, ymax = 1), linetype = "dotted") +
   geom_point() +
   scale_x_datetime(breaks = myDat$datetime) +
   scale_y_continuous(labels = NULL) +
   ylab("event") +
   theme(axis.text.x = element_text(angle = 60, vjust = 1, hjust=1),
         axis.ticks.y = element_blank())


Hope this helps,

Rui Barradas

Às 13:36 de 16/03/21, Sarah Goslee escreveu:
> Hi,
> 
> It doesn't have anything to do with having a Mac - you have POSIX.
> 
> It's because something is wrong with your data import. Looking at the
> head() output you provided, it looks like your data file does NOT have
> a header, because there's no datetime column, and the column name is
> actually X2021.03.11.10.00.0
> 
> So you specified a nonexistent column, and got a zero-length answer.
> 
> With correct specification, the as.POSIXct function works as expected on Mac:
> 
> 
> myDat <- read.table(text =
> "datetime
> 2021-03-11 10:00:00
> 2021-03-11 14:17:00
> 2021-03-12 05:16:46
> 2021-03-12 09:17:02
> 2021-03-12 13:31:43
> 2021-03-12 22:00:32
> 2021-03-13 09:21:43",
> sep = ",", header = TRUE)
> 
> 
> myDat$datetime <- as.POSIXct(myDat$datetime, tz = "", format =
> "%Y-%M-%d %H:%M:%OS")
> 
> Sarah
> 
> On Tue, Mar 16, 2021 at 9:26 AM Gregory Coats via R-help
> <r-help using r-project.org> wrote:
>>
>> My computer is an Apple MacBook. I do not have POSIX.
>> The command
>> myDat$datetime <- as.POSIXct(myDat$datetime, tz = "", format = "%Y-%M-%d %H:%M:%OS")
>> yields the error
>> Error in `$<-.data.frame`(`*tmp*`, datetime, value = numeric(0)) :
>>    replacement has 0 rows, data has 13
>> Please advise, How to proceed?
>> Greg Coats
>>
>>> library(ggplot2)
>>> # Read a txt file on the Desktop, named "myDat.txt"
>>> myDat <- read.delim("~/Desktop/myDat.txt", header = TRUE, sep = ",")
>>> head(myDat)
>>    X2021.03.11.10.00.00
>> 1  2021-03-11 14:17:00
>> 2  2021-03-12 05:16:46
>> 3  2021-03-12 09:17:02
>> 4  2021-03-12 13:31:43
>> 5  2021-03-12 22:00:32
>> 6  2021-03-13 09:21:43
>>> # convert data to date time object
>>> myDat$datetime <- as.POSIXct(myDat$datetime, tz = "", format = "%Y-%M-%d %H:%M:%OS")
>> Error in `$<-.data.frame`(`*tmp*`, datetime, value = numeric(0)) :
>>    replacement has 0 rows, data has 13
>>>
>>          [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> 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.
> 
> 
>



More information about the R-help mailing list