El lenguaje R te enseña cómo hacer una tabla de efectos de interacción

El efecto de interacción (p de Interacción) puede considerarse como un nirvana en los artículos SCI, y casi siempre aparece en los SCI de puntuación alta, porque dividir la población en subgrupos y luego realizar estadísticas puede mejorar la confiabilidad de los resultados del artículo. Hoy
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
usamos el lenguaje R para dibujar una tabla como la de arriba, continuamos usando nuestros datos de nacimientos prematuros, primero importemos los datos

bc<-read.csv("E:/r/test/zaochan.csv",sep=',',header=TRUE)
bc <- na.omit(bc)

inserte la descripción de la imagen aquí
Estos son los datos sobre bebés prematuros con bajo peso al nacer (respuesta oficial de la cuenta: datos de nacimiento prematuro, los datos se pueden obtener), y los bebés por debajo de 2500 g se consideran bebés con bajo peso al nacer. Los datos se interpretan de la siguiente manera: bajo si es un bebé prematuro de bajo peso al nacer menor de 2500 g, edad edad de la madre, lwt último peso menstrual, raza raza, humo tabaquismo durante el embarazo, ptl antecedentes de parto prematuro (recuento), ht antecedentes de hipertensión, ui alergia uterina, ftv embarazo temprano Número de visitas al médico
bwt Valor del peso del recién nacido.
Primero convertimos las variables categóricas en factores

bc$race<-ifelse(bc$race=="black",1,ifelse(bc$race=="white",2,3))
bc$smoke<-ifelse(bc$smoke=="nonsmoker",0,1)
bc$low<-factor(bc$low)
bc$race<-factor(bc$race)
bc$ht<-factor(bc$ht)
bc$ui<-factor(bc$ui)

Supongamos que queremos estudiar el efecto de la edad materna en la relación entre el parto prematuro, necesitamos comprender la interacción de la edad y el parto prematuro entre diferentes razas.
Primero divide la edad en 3 grupos de datos

dat1<-subset(bc,bc$race==1)
dat2<-subset(bc,bc$race==2)
dat3<-subset(bc,bc$race==3)

Utilice estos 3 datos para construir un modelo respectivamente. Tenga en cuenta que el modelo no tiene el indicador de raza

f1<-glm(low~age + lwt + smoke + ptl + ui + ftv, data=dat1,
    family=binomial(link = "logit"))
f2<-glm(low~age + lwt + smoke + ptl + ui + ftv, data=dat2,
        family=binomial(link = "logit"))
f3<-glm(low~age + lwt + smoke + ptl + ui + ftv, data=dat3,
        family=binomial(link = "logit"))

A continuación, necesitamos extraer los coeficientes para cada modelo, primero extraemos el modelo f1

b<-summary(f1)$coeff[2,1]#提取系数
se<-summary(f1)$coeff[2,2]#提取标准误
OR<-round(exp(b),2)
ll<-round(exp(b-1.96*se),2)
ul<-round(exp(b+1.96*se),2)

inserte la descripción de la imagen aquí
A continuación, necesitamos realizar los mismos coeficientes de extracción para otros modelos. Aquí lo escribo como un bucle para ejecutar. Primero, establezca una función de salida.

jj<-function(data) {
    
    
  dat<-data
  fit<-glm(low~age + lwt + smoke + ptl + ui + ftv, data=dat,
           family=binomial(link = "logit"))
  b<-summary(fit)$coeff[2,1]#提取系数
  se<-summary(fit)$coeff[2,2]#提取标准误
  OR<-round(exp(b),3)
  ll<-round(exp(b-1.96*se),3)
  ul<-round(exp(b+1.96*se),3)
  d<-data.frame(OR,ll,ul)
}

Combinar 3 datos en una lista

dt<-list(dat1,dat2,dat3)

Use la función sapply para ejecutar

out<-sapply(dt,jj)

inserte la descripción de la imagen aquí
Necesidad de transponer el resultado generado.

out1<-as.data.frame(t(out))

inserte la descripción de la imagen aquí
De esta manera, se generan el resultado OR valor y el intervalo creíble. El valor P del efecto de interacción debe calcularse por separado. No lo demostraré aquí. Si está interesado, lea mis artículos anteriores. El valor P aquí es 0.7358

p<-0.7358

A continuación, configure la tabla, ahora agregue una fila de valores vacíos

out2<-rbind(c("","",""),out1)

inserte la descripción de la imagen aquí
Ponga nuestro resultado y cambie el nombre

out2$p.for.Interaction<-c(0.075,"","","")
rownames(out2)<-c("race","black","white","other")

Visualización de resultados finales
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/dege857/article/details/130339992
Recomendado
Clasificación