[R] Simulate data for spline/piecewise regression model

Nidhi Kohli nidhik at umd.edu
Thu Nov 5 23:37:30 CET 2009

```Dear All,

I am trying to simulate data for a spline/piecewise regression model. I am missing something fundamental in my simulation procedure because when I try to fit my simulated data using the Gauss-Newton method in SAS, I am getting some wacky parameter estimates. Can anyone please check my simulation code and tell me what mistake I am making in generating data for spline model?

Thank you very much for your help.

Regards,
Nidhi

Here is my code:

#Set the working directory #

setwd("C:/SPLINE MODEL")

#Data Simulation Routine#

subjects = 30 #Sets the sample of subjects for whom the data is to be generated#
knot = 8 #Specifies the value of knot/change point#
beta0 = 3 #Specifies the value of intercept for x <= knot#
beta1 = 8 #Specifies the value of slope for x <= knot#
gamma0 = 6 #Specifies the value of intercept for x > knot#
gamma1 = 5 #Specifies the value of slope for x > knot#

#The following intializes empty (NA) vectors#

X = rep(NA,subjects)
Y = rep(NA, subjects)
DATA = rep(NA, subjects)

#The following sample x.values from uniform distribution#

X = runif(subjects,1,20)

# For loop for computing y-values by comparing each x-value to the knot#

for (i in 1:30)

{

if (X[i] <= knot)
Y[i] = beta0+beta1*X[i]

else
Y[i] = gamma0+gamma1*X[i]

}

#Binding/combining the x- and y-values in one data set#

DATA = cbind(X, Y)

#This writes the DATA to a separate file#

write.table(DATA, "SplineData.dat")

```