Regresión de spline en lenguaje R y dibujar un gráfico de barras cúbicas restringido

Clínicamente, la variable dependiente y el resultado clínico a veces no son lineales, y el modelo de regresión tiene una suposición importante de que la variable independiente y la variable dependiente están relacionadas linealmente, por lo que el modelo de relación no lineal está limitado por el análisis de regresión. Por lo tanto, una mejor solución es ajustar la relación no lineal entre la variable independiente y la variable dependiente El spline cúbico restringido (RCS) es uno de los métodos más comunes para analizar la relación no lineal.
Recientemente, un fan preguntó si las variables ordinales de múltiples categorías se pueden aplicar a gráficos de barras de cubo restringidos. esta permitido. Podemos mostrar la diferencia de datos agrupando visualización.
Necesita utilizar los tres paquetes de splines, rms, ggplot2, primero debe descargarlos,
primero cargar el paquete e importar nuestros datos:

library(ggplot2)
library(splines)
library(rms)
be<-read.csv("E:/r/test/qztp2.csv",sep=',',header=TRUE)
names(be)

Inserte la descripción de la imagen aquí
Construir regresión spline

model.spline <- lm(be$Gestational.week ~ rcs(be$HB))#建立样条回归
summary(model.spline)

Preste atención a este valor de P, menos de 0.05 indica una relación no lineal.
Inserte la descripción de la imagen aquí
Use anova (model.spline) para ver lo mismo,
Inserte la descripción de la imagen aquí
y luego use ggplot2 para dibujar el gráfico.

ggplot(be, aes(HB, Gestational.week)) +  
  geom_point()+
  stat_smooth(method = lm, formula = y ~ rcs(x,4)) ##绘制样条回归拟合效果图

Inserte la descripción de la imagen aquí
También podemos establecer el punto de corte y dibujar la imagen por nosotros mismos. Se siente como si no hubiera un software para configurarlo por sí mismo.

model.spline1 <- lm(be$Gestational.week ~ rcs(be$HB, c(20,100,126,150)))#建立样条回归,设置4个节点
ggplot(be, aes(HB, Gestational.week)) +  
  geom_point()+
  stat_smooth(method = lm, formula = y ~ rcs(x, c(20,100,126,150))) ##绘制样条回归拟合效果图

Inserte la descripción de la imagen aquí
También puede embellecer aún más los gráficos.

ggplot(be, aes(HB, Gestational.week,fill=Prenatal.hemorrhage,size=Prenatal.hemorrhage1)) +  
  geom_point(shape=21,size=4,col="black")+
  stat_smooth(method = lm, formula = y ~ rcs(x,4)) ##美化一下图形

Inserte la descripción de la imagen aquí
Agregando que queremos conocer el impacto de los dos indicadores de clasificación de sangrado y no sangrado en el resultado Y, podemos agregar una variable de agrupación para percibir la cantidad de sangrado desde el tono del color. En la actualidad, los intervalos de confianza de la dos variables casi se superponen Si el sangrado debería afectar el resultado Sin efecto, el agregado depende del índice del modelo.

ggplot(be, aes(HB, Gestational.week,group=Prenatal.hemorrhage,fill=Prenatal.hemorrhage1)) +  
  geom_point(shape=21,size=4,col="black")+
  stat_smooth(method = lm, formula = y ~ rcs(x,4)) ##分组表示

Inserte la descripción de la imagen aquí
Los colores de los dos grupos son un poco similares, no es fácil de distinguir, también podemos modificarlo.
Inserte la descripción de la imagen aquí
Hay más artículos interesantes disponibles en la cuenta pública: investigación científica de base cero
Inserte la descripción de la imagen aquí

Supongo que te gusta

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