Hi Rosa, You pass a vector to ggplot, which expects a data.frame. I am sure you meant to do this:
point7$y_point7 <- point7$beta0_7 + point7$beta1_7*point7$time + point7 $epsilon_7 ggplot(point7, aes(time, y_point7)) + geom_line() HTH Ulrik On Wed, 19 Jul 2017 at 20:37 Rosa Oliveira <rosit...@gmail.com> wrote: > Hi everyone, > > I’m trying to do a spaghetti plot and I know I’m doing all wrong, It must > be. > > What I need: > > 15 subjects, each with measurements over 5 different times (t1, ..., t5), > and the variable that I need to represent in the spaguetti plot is given by: > > PCR = b0 + b1 * ti + epsilon > > B0, - baseline of each subject > B1 - trajectory of each subject over time (so multiply by t) > Epsilon - error associated with each subject > > Regression model with mixed effects. > > Thus, I generated b0, b1, epsilon and time created sequence. > > But I need to do spaguetti plot of the outcome and I can not understand > how much I search the publications. > > Sorry for the stupidity, but I do not even know how to do it and I need it > with the utmost urgency to finish a publication proposal :( > > Follows what I tried to do :( :( :( > > > library(ggplot2) > library(reshape) > library(lattice) > library(gtable) > library(grid) > > > set.seed(9027) > > n.longitudinal.observations = 5 # number of PCR > measures (per subject) in the hospital period > subjects = 15 # Number of > simulations (1 per subject in the study) > > beta0_7_gerar = rnorm(subjects, mean = 1, sd = .5) > beta0_7 = > as.data.frame(matrix(beta0_7_gerar,nrow=subjects,ncol=1)) # beta 0 - > input variable used to calculate PCR (the outcome) > beta1_7_gerar = rnorm(subjects, mean = -1, sd = .5) > beta1_7 = > as.data.frame(matrix(beta1_7_gerar,nrow=subjects,ncol=1) ) # beta 1 - > input variable used to calculate PCR (the outcome) > > tj_gerar = seq.int(1, > n.longitudinal.observations, 1) > epsilon_7_gerar = rnorm(5*subjects, mean = 0, sd = .1) > epsilon_7 = > as.data.frame(matrix(epsilon_7_gerar,nrow=subjects,ncol=1) ) # epsilon_7 > - input variable used to calculate PCR (the outcome) - associated with each > subject > > tj = > as.data.frame(matrix(tj_gerar,nrow=subjects,ncol=1) ) # > time > > point7 <- cbind(beta0_7, beta1_7, tj, epsilon_7) > point7 > point7 <- as.data.frame(point7) > > colnames(point7) = c("beta0_7","beta1_7","time", "epsilon_7") > > > y_point7 <- point7$beta0_7 + point7$beta1_7*point7$time + point7 > $epsilon_7 (the outcome of the study - PCR) > y_point7 > > require(ggplot2) > > png('test.png') > p = ggplot(y_point7, aes(time, y_point7)) + geom_line() > print(p) > dev.off() > savehistory() > > > > > > > OR: > > In the last part I also tried: > > > ID = rep(1:3, each = 5) > > > point7 <- cbind(ID,beta0_7, beta1_7, tj, epsilon_7) > point7 > point7 <- as.data.frame(point7) > > colnames(point7) = c("ID","beta0_7","beta1_7","time", "epsilon_7") > > > > > > y_point7 <- point7$beta0_7 + point7$beta1_7*point7$time + point7 $epsilon_7 > y_point7 > > crp7 <- y_point7 > > head(point7, n = 15) > > > ggplot(aes(x = tj_gerar, y = crp7), data = point7) + > geom_line(aes(group = ID), color = "gray") + > geom_smooth(aes(group = 1), method = "lm", size = 3, color = "red", se = > FALSE) + > theme_bw() > > But none of these worked :( > > I was looking to have something like: > > > Being the outcome PCR and the year the times (1, 2, 3, 4, 5). > > Can someone help me please? > > > Thanks, > > Best Rosa > > > > ______________________________________________ > 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. [[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.