[R] Need help plotting

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Thu Sep 22 23:04:00 CEST 2022


Hello,

You have to load the packages involved:


library(dplyr)
library(tidyr)
library(ggplot2)


then run the full sequence. Though this is not important, if you are 
pivotting columnns named y1 and y2, why not name the result just y?


pivot_longer(-time, names_to = "y")


And here is complete code, runs in a fresh R session.


tst  <- read.table(text = "
time y1 y2
1  18:55 30 19
2  18:56 30 19
3  18:57 29 19
4  18:58 31 19
5  18:59 28 19
6  19:00 28 19
7  19:01 28 19
8  19:02 28 19
9  19:03 28 19
10 19:04 28 19
11 19:05 29 19
", header = TRUE)

library(dplyr)
library(tidyr)
library(ggplot2)

tst %>%
   mutate(time = paste(Sys.Date(), time),
          time = as.POSIXct(time)) %>%
   select(time, y1, y2) %>%
   # reshape to long format
   pivot_longer(-time, names_to = "y") %>%
   # now plot
   ggplot(aes(time, value, color = y)) +
   geom_line() +
   geom_point() +
   scale_color_manual(values = c("orange", "skyblue")) +
   # make datetime labels
   scale_x_datetime(date_breaks = "1 mins", date_labels = "%H:%M") +
   theme_bw()


Hope this helps,

Rui Barradas

Às 20:40 de 22/09/2022, DFP escreveu:
> I'm trying to do as you suggest, but I'm not understanding what I need 
> to do.  I asked what the line pivot_longer(-time, names_to = "y1") would 
> do if applied to this df:
> 
>  > tst
>      time y1 y2
> 1  18:55 30 19
> 2  18:56 30 19
> 3  18:57 29 19
> 4  18:58 31 19
> 5  18:59 28 19
> 6  19:00 28 19
> 7  19:01 28 19
> 8  19:02 28 19
> 9  19:03 28 19
> 10 19:04 28 19
> 11 19:05 29 19
> 
> I tried to run these lines and then look at tst, but this is what I get:
> 
>  > tst %>%
> +    mutate(time = paste(Sys.Date(), time),
> +                  time = as.POSIXct(time)) %>%
> +    select(time, y1,y2) %>%
> +    # reshape to long format
> +    pivot_longer(-time, names_to = "y1")
> Error in tst %>% mutate(time = paste(Sys.Date(), time), time = 
> as.POSIXct(time)) %>%  :
>    could not find function "%>%"
> 
> How can I learn what the pivot_longer has done to tst?
> 
> Darn it--Now I try to run the whole sequence that Rui suggested--it 
> worked before--and now I get this:
> 
>  > tst %>%
> +    mutate(time = paste(Sys.Date(), time),
> +                  time = as.POSIXct(time)) %>%
> +    select(time, y1,y2) %>%
> +    # reshape to long format
> +    pivot_longer(-time, names_to = "y1") %>%
> +    # now plot
> +    ggplot(aes(time, value, color = y1)) +
> +    geom_line() +
> +    geom_point() +
> +    scale_color_manual(values = c("orange", "skyblue")) +
> +    # make datetime labels
> +    scale_x_datetime(date_breaks = "1 mins", date_labels = "%H:%M") +
> +    theme_bw()
> Error in tst %>% mutate(time = paste(Sys.Date(), time), time = 
> as.POSIXct(time)) %>%  :
>    could not find function "%>%"
>  >
> 
> What should I try next?
>



More information about the R-help mailing list