# Change color of plot points based on values of a variable

4 messages
Open this post in threaded view
|

## Change color of plot points based on values of a variable

 Dear R users: I have run a logistic regression, used Gelman et al.'s car package to simulate the parameter estimates of that model, and have plotted the probability (using Gelman et al.'s invlogit() function) of the dependent variable being 1 given the value of a particular independent variable is at its mean.  The plot has probabilities on the y-axis and the number (1-1000) of the simulation run on the x-axis.   What I would like to do is to make the points that make up the 95% CI a different color from the points outside that CI.  In other words, I would like the points from 1-24, and 976-1000 to be one color (the default color is fine), and the points 25-975 to be a different color. How would I do this? In case there is some confusion, here is example code, with only one predictor: set.seed(23) y<-rbinom(100,1,0.1) x<-rnorm(100) fit.1<-glm(y~x1, family=binomial(link="logit")) library(car) sim.fit.1<-sim(fit.1, 1000)   #Simulate the parameter estimates of fit.1 1000 times plot(sort(invlogit(sim.fit.1\$beta[,1]+sim.fit.2\$beta[,2]*mean(x1)))) Thanks, Josip ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.
Open this post in threaded view
|

## Re: Change color of plot points based on values of a variable

 > I have run a logistic regression, used Gelman et al.'s car package > to simulate the parameter estimates of that model, and have plotted > the probability (using Gelman et al.'s invlogit() function) of the > dependent variable being 1 given the value of a particular > independent variable is at its mean.  The plot has probabilities on > the y-axis and the number (1-1000) of the simulation run on the x-axis. > > What I would like to do is to make the points that make up the 95% > CI a different color from the points outside that CI.  In other > words, I would like the points from 1-24, and 976-1000 to be one > color (the default color is fine), and the points 25-975 to be a > different color. How would I do this? > > In case there is some confusion, here is example code, with only onepredictor: > > set.seed(23) > y<-rbinom(100,1,0.1) > x<-rnorm(100) > fit.1<-glm(y~x1, family=binomial(link="logit")) > library(car) > sim.fit.1<-sim(fit.1, 1000)   #Simulate the parameter estimates of > fit.1 1000 times > plot(sort(invlogit(sim.fit.1\$beta[,1]+sim.fit.2\$beta[,2]*mean(x1)))) Running your code throws an error for me (can't find the 'sim' function - is it in another library?).  I think this is what you are trying to achieve though plot(1:20, col=c(rep("red",5), rep("blue",10), rep("red",5))) Regards, Richie. Mathematical Sciences Unit HSL ------------------------------------------------------------------------ ATTENTION: This message contains privileged and confidential inform...{{dropped:20}} ______________________________________________ [hidden email] mailing list https://stat.ethz.ch/mailman/listinfo/r-helpPLEASE do read the posting guide http://www.R-project.org/posting-guide.htmland provide commented, minimal, self-contained, reproducible code.