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.

Reply via email to