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?


______________________________________________
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