[R] Specifying interactions in rms package... error
Frank Harrell
f.harrell at Vanderbilt.Edu
Tue Aug 3 07:04:43 CEST 2010
Hi Rob,
rms wants symmetry in the sense that the interactions need to use the
same number and location of spline knots as the main effects. So if
using the * notation omit the main effects (which are generated
automatically) and live with the equal knots. Or use the restricted
interaction operator %ia% to not use doubly nonlinear terms in forming
the interactions, which is a sensible restriction.
Frank
Frank E Harrell Jr Professor and Chairman School of Medicine
Department of Biostatistics Vanderbilt University
On Mon, 2 Aug 2010, Rob James wrote:
> I am encountering an error I do not know how to debug. The error arises
> when I try to add an interaction term involving two continuous
> variables (defined using rcs functions) to an existing (and working) model.
>
> The new model reads:
>
> model5 <- lrm( B_fainting ~ gender+ rcs(exactage, 7) +
> rcs(DW_nadler_bv, 7) + rcs(drawtimefrom8am, 7)+ DW_firsttime+
> DW_race_eth +
> rcs(DW_BPS, 5)+ rcs(DW_BPD, 5)+ rcs(pulse3, 5)+ locat2+
> (rcs(exactage, 3) * rcs(drawtimefrom8am, 3))
> )
>
> This gives rise to the following error:
>
> ----
> Error in dimnames(X)[[2]] <- atr$colnames :
> length of 'dimnames' [2] not equal to array extent
> In addition: Warning message:
> In names(nmiss)[jz] <- fname[asm != 9] :
> number of items to replace is not a multiple of replacement length
> ----
>
> The sessionInfo() output is below, but I think relatively unremarkable.
> The dataset is very large (about 550K observations, although the outcome
> (B_fainting) is relatively sparse with only 1500 events in this
> sample. I do not get this error when the interaction term is replaced
> by two categorical variables (data not shown). I can replicate this
> error when there is just one continuous variable and one categorical
> variable.
>
>
> I'd welcome suggestions. Thank you in advance.
>
>
>
>
>
> sessionInfo()
> R version 2.11.0 (2010-04-22)
> x86_64-pc-linux-gnu
>
> locale:
> [1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C
> LC_TIME=en_CA.UTF-8
> [4] LC_COLLATE=en_CA.UTF-8 LC_MONETARY=C
> LC_MESSAGES=en_CA.UTF-8
> [7] LC_PAPER=en_CA.UTF-8 LC_NAME=C LC_ADDRESS=C
> [10] LC_TELEPHONE=C LC_MEASUREMENT=en_CA.UTF-8
> LC_IDENTIFICATION=C
>
> attached base packages:
> [1] splines stats graphics grDevices utils datasets
> methods base
>
> other attached packages:
> [1] gmodels_2.15.0 rms_3.0-0 Hmisc_3.8-2 survival_2.35-8
> odfWeave_0.7.14 XML_3.1-0
> [7] lattice_0.18-8
>
> loaded via a namespace (and not attached):
> [1] cluster_1.13.1 gdata_2.8.0 grid_2.11.0 gtools_2.6.2 MASS_7.3-7
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list