0

I am looking to plot binary variable and numerical variable in the same plot. I have tried but the y axis seems to just be the Binary scale. enter image description here

My data is a larger dataset of the excerpt below

dat <- structure(list(timestamp = c("29-06-2021-06:00", "29-06-2021-06:01", 
"29-06-2021-06:02", "29-06-2021-06:03", "29-06-2021-06:04", "29-06-2021-06:05", 
"29-06-2021-06:06", "29-06-2021-06:07", "29-06-2021-06:08", "29-06-2021-06:09", 
"29-06-2021-06:10", "29-06-2021-06:11", "29-06-2021-06:12", "29-06-2021-06:13", 
"29-06-2021-06:14", "29-06-2021-06:15", "29-06-2021-06:16", "29-06-2021-06:17", 
"29-06-2021-06:18", "29-06-2021-06:19", "29-06-2021-06:20", "29-06-2021-06:21", 
"29-06-2021-06:22", "29-06-2021-06:23", "29-06-2021-06:24", "29-06-2021-06:25", 
"29-06-2021-06:26"), SID = c(301L, 351L, 304L, 357L, 358L, 302L, 
303L, 309L, 356L, 304L, 308L, 351L, 304L, 357L, 358L, 302L, 303L, 
352L, 307L, 353L, 304L, 308L, 352L, 307L, 304L, 354L, 356L), 
    Tor = c(0.70161919, 0.639416295, 0.288282073, 0.932362166, 
    0.368616626, 0.42175565, 0.409735918, 0.942170196, 0.381396521, 
    0.818102394, 0.659391671, 0.246387978, 0.196001777, 0.632630259, 
    0.66618385, 0.440625167, 0.639759498, 0.050001835, 0.775660271, 
    0.762934189, 0.516830196, 0.244674975, 0.38620466, 0.970792903, 
    0.752674581, 0.190366737, 0.56596405), Lowt = c(0L, 0L, 1L, 
    0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 
    0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L), Hit = c(1L, 0L, 0L, 
    1L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    1L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L)), class = "data.frame", row.names = c(NA, 
-27L))
ggplot(new_1, aes(x=Timestamp)) + 
  geom_line(aes(y=SID)) +
  geom_point(aes(y=Lowt))
4
  • 1
    Could you share your code ? Commented Jul 5, 2022 at 9:46
  • Do you try to plot facets : cookbook-r.com/Graphs/Facets_(ggplot2) ? Commented Jul 5, 2022 at 10:04
  • your code doesn't work with the dataset you provide. Also, in the image you post, it seems that you want to plot the Tor variable as a line instead of SID as in your code. Commented Jul 5, 2022 at 10:19
  • Yes you are correct. I would like to plot Tor against Lowt. Sorry I rushed my code Commented Jul 5, 2022 at 10:20

2 Answers 2

2

using the dataset you provide :

library(ggplot2)
ggplot(dat, aes(x=timestamp)) + 
  geom_line(aes(y=Tor,group=1),col="red")+
  geom_point(aes(y=Lowt),col="blue")+
  theme(axis.text.x =element_text(angle=90))

enter image description here

Sign up to request clarification or add additional context in comments.

Comments

1

It is maybe not completely what you want, but you can make a "conditional density plot" using cdplot. These plots provide an overview of how a categorical variable (Lowt and Hit) change across various levels of a continuous variable (SID). First you need to modify you data a bit where the Lowt and Hit will be combined to one column called presence using pivot_longer. After that you can plot it like this:

library(dplyr)
library(tidyr)
new_dat <- pivot_longer(dat, cols = Lowt:Hit, values_to = 'presence') %>%
  select(presence, SID)
  
cdplot(factor(new_dat$presence) ~ new_dat$SID,
       xlab = "SID",
       ylab = "presence")

Output:

enter image description here

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.