Hi there, I'm trying to prep some data for a persp() surface plot representing the predictions from a regression with two inddependent
variables. The regression model "m3" has an intercept, 2 linear terms, and 2 squared terms. The coefficients are given by coef(m3). My approach to generating the predictions for a range of each of my IVs, "s" and "d" was to use outer() like so: predxn <- function(s,d) { sum( coef(m3) * c(1,s,s^2,d,d^2) ) } z <- outer(s_vector,d_vector,predxn) I can't see what's wrong with this. For each value of s_vector and d_vector, it should multiply each coefficient by its term and give me a nice two-dimensional array "z" containing the predictions. The problem is that the c() vector ends up with 1601 elements instead of 5. There are 20 items each in s_vector and d_vector so it looks like each variable in my function is using the whole "z" array of s's and d's rather than being calculated for each combination of values one at a time. So, am I using outer() wrong? Or did I write my function badly? Or is there a better way to plot a 3d surface plot of my regression model? // joseph w. clark , phd candidate \\ usc marshall school of business ______________________________________________ R-help@r-project.org mailing list 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.