I am running a DOE with the following code library(Rcmdr) library(RcmdrMisc) library(RcmdrPlugin.DoE) # Define plackett burman experiment PB.DOE <- pb(nruns= 12 ,n12.taguchi= FALSE ,nfactors= 12 -1, ncenter= 0 , replications= 1 ,repeat.only= FALSE ,randomize= TRUE ,seed= 27241 , factor.names=list( A=c(100,1000),B=c(100,200),C=c(1,3),D=c(1,1.7), E=c(1000,1500),G=c(-2,2) ) )
as.numeric2 <- function(x) as.numeric(as.character(x)) # Calculate response column IP <- with(PB.DOE,(as.numeric2(A)*as.numeric2(B)*(5000-3000))/(141.2*as.numeric2(C)*as.numeric2(D)*(log(as.numeric2(E)/0.25)-(1/2)+as.numeric2(G)))) # Combine response column with exp design table final_set <- within(PB.DOE, { IP<- ((as.numeric2(A)*as.numeric2(B)*(5000-3000))/(141.2*as.numeric2(C)*as.numeric2(D)*(log(as.numeric2(E)/0.25)-(1/2)+as.numeric2(G)))) })I then ran a regression as follows:LinearModel.1 <- lm(IP ~ A + B + C + D + E + G, data=final_set) summary(LinearModel.1)Following this i wanted to run a predict using specified values as predictors in a Monte Carlo:n = 10000 # Define probability distributions of predictors A = rnorm(n,450,100) hist(A,col = "blue",breaks = 50) B = rnorm(n, 150,10) hist(B,col = "blue",breaks = 50) C = rnorm(n, 1.5, 0.5) hist(C,col = "blue",breaks = 50) D = runif(n,1.2,1.7) hist(D,col = "blue",breaks = 50) E = rnorm(n,1250,50) hist(E,col = "blue",breaks = 50) G = rnorm(n,0,0.5) hist(G,col = "blue",breaks = 50) MCtable <- data.frame(A=A,B=B,C=C,D=D,E=E,G=G) for (n in 1:n) { N=predict(LinearModel.1,MCtable) } hist(N,col = "yellow",breaks = 10)I end up getting this error:"Warning in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) : variable 'A' is not a factor"Using str() to get some info on the LinearModel.1 and from what I understand seems to indicates that since the predictors A,B,C etc are factors with 2 levels I have to convert my data.frame table to factors aswell. Is that correct?Doing this would mean I would also need to specify the number of levels which would mean that since I have set my n to 10000 would mean 10000 levels for each factor. How would I go about doing this? Is there a better solution? Any help would be appreciated. [[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.