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]]
______________________________________________
[email protected] 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.