#r #spline
Вопрос:
Я работаю над моделью кривой обучения времени в операционной. В литературе предлагается использовать модель «линия-плато». Теория заключается в том, что, когда хирург повторяет операцию, они быстро улучшаются, пока не достигнут плато и не перестанут совершенствоваться после этой операции. Я использовал lspline для моделирования двух периодов времени, но проблема в том, что во втором периоде наклон положительный (операция занимает больше времени). Кто — нибудь знает, как смоделировать линейную сплайновую регрессию в r с одним узлом и заставить второй период быть плоским, т. Е. Просто перехватом?
library(lspline)
library(ggplot2)
#Simulated Data
set.seed(321)
df1 <- data.frame(Case = seq(1,90,by=1), random = rnorm(90,0,1))
df1$ORTime<-144-0.3*df1$Case df1$random
df2 <- data.frame(Case = seq(91,150,by=1), random = rnorm(60,0,1))
df2$ORTime<-112 0.05*df2$Case df2$random
simulateddata<-rbind(df1,df2)
#Spline Regression
splinepredict<-predict(lm(ORTime~lspline(Case,90),
data = simulateddata))
summary(lm(ORTime~lspline(Case,90),
data = simulateddata))
#Plot the Regression
OrTime <- ggplot(simulateddata, aes(x=Case, y=ORTime))
geom_point(alpha=0.55, color="black")
theme_minimal()
OrTime
geom_line(data=simulateddata,
aes(y = splinepredict, x=Case), size = 1, col="blue")