* SAS code to fit mercury data from Table 7.1; options linesize=70; data mercury; input hgconc y @@; x = log(hgconc); cards; 2.5 13.57 22 15.33 60 4.09 90 4.50 105 4.65 144 4.97 178 5.18 210 5.35 233 5.45 256 5.55 300 35.46 400 45.26 proc nlin method=marquardt ; parameters g0 = 12.73 g1 = 1.06 b1 = 38.88 t = 5.1818 ; if x <= t then do; * left linear segment; model y = g0 + g1*x ; der.g0 = 1; der.g1 = x; der.b1 = 0; der.t = 0; end; else do; * right linear segment; model y = g0 + g1*t + b1*(x-t); der.g0 = 1; der.g1 = t; der.b1 = x-t; der.t = g1 - b1 end; run;