Dear R users,
 
First of all, excuse me if my doubt is very trivial, but so far I haven't been 
able to solve it.
My question is this: I have a data frame which contains repeated measurements 
on 4 subjects coded
as "id", and I want to plot, for each subject, not only the corresponding 
"counts" variable histogram, 
but also overlapping to the right side the corresponding results of "sim" 
variable (I want to do it in basic
R code, i.e., without any specific R package). I have almost the right code 
(see the example code below), 
but I can not overlap the "sim" variable.

Thanks in advance for suggestions!!
 
Frank

data <- data.frame(id =  rep(c(1,3,4,7), c(9,5,3,3)),
    count = c(0, 10, 15, 0, 16, 7, 14, 11, 12, 1, 8, 17, 19, 0, 9, 10, 14, 2, 
3, 10),
    sims =  c(1, 9, 15, 1, 14, 5, 12, 10, 12, 2, 6, 15, 18, 1, 9, 9, 12, 5, 3, 
9)) 
 
# The actual code I have
# ------------------------------
windows(height = 5, width = 5)
par(mfrow = c(2, 2), oma = c(1, 2, 2, 1), mar=c(3, 2, 1, 1), las = 1)    
for(i in 1:length(unique(data$id))){
   kat <- factor(data$id, labels = 1:length(unique(data$id)))
   plot(data$count[kat == i], 
   type = "h", col = 1, lwd = 3, xaxt = "n", xlab ="", main = "",
   xlim = c(1, max(table(data$id))), ylim = c(0, 20))
   axis(1, at = 1:max(table(data$id)))
   mtext( bquote(paste("id = ", .(unique(data$id)[i]))), side = 3, cex = 0.9, 
line = 0.5)
   tab <- table( as.matrix( data$id ) )
   dist.overlap <- 0.4 # Distance of right overlapping of the "sim" variable
   # points( factor(names(tab)) + dist.overlap, data$sim[kat == i] , type="h", 
col=2, lw =4)  ##  =======>  Line I can not solve
 }
                                          
        [[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.

Reply via email to