Hi all, I'm using the ssanova function from the gss package to fit smoothing spline anovas, and am running into some difficulty.
For my data, I have measurements at 2 milisecond intervals for every observation. Every observation does not have the same duration, so I have scaled the times for each observation to a scale between 0 and 1. I would like to smooth over time, and the following works: ssanova(Measurement ~ ScaleTime, data = data) I would also like to see how the variable duration affects the curve, so I have another column in the dataframe which contains the log duration. I did it like so: Durations <- data.frame(LogDuration = log(tapply(data$Time, data$Token, max)), Token = levels(data$Token) data <- merge(data, Durations, by = "Token") Now every measurement point for every observation also has the log(duration) of the entire observation associated with it. I would assume that the following is how I should specify my formula: ssanova(Measurement ~ ScaleTime * LogDuration, data = data) but I get the following error: Error in if (!((2 * order > dm) & (dm >= 1))) { : missing value where TRUE/FALSE needed I get the same error if I try ssanova(Measurement ~ LogDuration, data = data) Any suggestions as to how I should approach this problem? I know that if I break duration into some kind of factor, I can successfully fit the model. However, I would like to assume that there is a continuous transformation of the curve shape as duration increases or decreases. Thanks! Joe [[alternative HTML version deleted]] ______________________________________________ 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.