R/predict.bbase.interaction.factor.by.curve.bs.R

Defines functions predict_bbase.interaction.factor.by.curve.bs

predict_bbase.interaction.factor.by.curve.bs <-
function(object, newx, newfactor) {
	newfactor <- droplevels(newfactor)
	factor.levels <- levels(newfactor)

	if(length(factor.levels) > 1) {
		ord <- NULL
		for(i in 1:length(factor.levels)) {
			ord <- c(ord, which(newfactor == factor.levels[i]))
		}
	} else {
		ord <- 1:length(newx)
	}
	interaction.smooth.part <- list()
	for(i in 1:length(factor.levels)) {
		interaction.smooth.part[[i]] <- predict_bbase.bs(object[[factor.levels[i]]], newx[newfactor == factor.levels[i]])
	}
	aux <- as.matrix(bdiag(interaction.smooth.part))
	B <- aux[order(ord),]
	B
}

Try the DDPstar package in your browser

Any scripts or data that you put into this service are public.

DDPstar documentation built on April 3, 2025, 8:46 p.m.