[R] Code that works when run as straight code, but that fails when run as a function

Sorkin, John j@ork|n @end|ng |rom @om@um@ry|@nd@edu
Fri Aug 23 21:45:52 CEST 2019


I have code that works perfectly when run as in-line code, but that fails when the code is put into a function with the following message:
Error in contest1D.lmerModLmerTest(model, ll, rhs = rhs, ddf = ddf, confint = confint, :
length(L) == length(model using beta) is not TRUE

Why does moving the code to a function lead to an error? What can I do to avoid the error?
Thank you,
John

In-line code:
fit2aCort <- lmer(SBP~age+jFStage+AHIgt5+jFStage*AHIgt5+(1|patid),data=alldata)

c1 <-c(1,  5.99,  1, 0,   0,  1, 0 )
c2 <-c(1,  5.99,  0, 1,   0,  0, 1 )

model <- fit2aCort
s1a <- contest(model,L=c1,joint=FALSE)
s1as1E <- s1a$Estimate

s2a <- contest(model,L=c2,joint=FALSE)
s2E <- s2a$Estimate

Time <- c(1,2)
SBP  <- c(s1E,s2E)
plot(Time,SBP)
title("Predicted Sys SBP, age 5.99 yr (SS 524 obs with BP 190mmHg removed)")
plotCI(Time,SBP,uiw=1.96*c(s1a$"Std. Error",s2a$"Std. Error"))


Code put into a function that fails:
plotit <- function(c1,c2,model)
{
s1a <- contest(model,L=c1,joint=FALSE)
s1as1E <- s1a$Estimate

s2a <- contest(model,L=c2,joint=FALSE)
s2E <- s2a$Estimate

Time <- c(1,2)
SBP  <- c(s1E,s2E)
plot(Time,SBP)
title("Predicted Sys SBP, age 5.99 yr (SS 524 obs with BP 190mmHg removed)")
plotCI(Time,SBP,uiw=1.96*c(s1a$"Std. Error",s2a$"Std. Error"))
}

fit2aCort <- lmer(SBP~age+jFStage+AHIgt5+jFStage*AHIgt5+(1|patid),data=alldata)

c1 <-c(1,  5.99,  1, 0,   0,  1, 0 )
c2 <-c(1,  5.99,  0, 1,   0,  0, 1 )
plotit(c1,c2,fit2aCort)

	[[alternative HTML version deleted]]



More information about the R-help mailing list