convertmtol: Convert a polytomous regression to a conditional logistic...

View source: R/convertmtol.R

convertmtolR Documentation

Convert a polytomous regression to a conditional logistic regression.

Description

Convert a polytomous regression to a conditional logistic regression.

Usage

convertmtol(xmat, str, yvec, subjects)

Arguments

xmat

regression matrix

str

stratum label

yvec

vector of responses

subjects

vector of subject labels passed directly to the output.

Details

Implements version of \insertCitekolassa16PHInfiniteEstimates. The multinomial regression is converted to a conditional logistic regression, and methods of \insertCitekolassa97PHInfiniteEstimates may be applied. This function differs from convertbaselineltolr of this package in that the former treats the richer data structure of package mlogit, and this function treats a less complicated structure. Data in the example is the breast cancer data set breast of package coxphf.

Value

a data set on which to apply conditional logistic regression, corresponding to the multinomial regression model.

References

\insertRef

kolassa97PHInfiniteEstimates

\insertRef

kolassa16PHInfiniteEstimates

Examples

#Uses data set breast from package coxphf.
data(breast)
out<-convertstoml(Surv(breast$TIME,breast$CENS),breast[,c("T","N","G","CD")])
out1<-convertmtol(out[,c("T","N","G","CD")],out[,"chid"],out[,"choice"],
   out[,"patients"])
glmout<-glm.fit(out1$xmat,out1$y,family=binomial())
#In many practice examples, the following line shows which observations to retain
#in the logistic regression example.
moderate<-(fitted(glmout)<1-1.0e-8)&(fitted(glmout)>1.0e-8)
# Proportional hazards fit illustrating infinite estimates.
coxph(Surv(TIME,CENS)~ T+ N+ G+ CD,data=breast)
# Wrong analysis naively removing covariate with infinite estimate
coxph(Surv(TIME,CENS)~ T+ N+ CD,data=breast)
summary(glm((CENS>22)~T+N+G+CD,family=binomial,data=breast))

out2<-reduceLR(out1$xmat,yvec=out1$y,keep="CD")
bestcoxout<-coxph(Surv(TIME,CENS)~ T+ N+ G+ CD,data=breast,
   subset=as.numeric(unique(out1$subjects[out2$moderate])))


PHInfiniteEstimates documentation built on Nov. 24, 2023, 9:06 a.m.