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]]


