[R] piece-wise linear regression nls function
John Sorkin
JSorkin at grecc.umaryland.edu
Thu Jan 10 02:33:55 CET 2013
windows 7, R 2.12
I am trying to run a piecewise linear regression with a single knot, i.e. a regression composed of two straight lines where the two lines intersect at an x value given by the variable knot. I wish to estimate the slope of both lines, the value of knot, the x value where the two lines intersect, and an intercept. I am using the nls code below, and get the following error message:
Error in nls(FM ~ blow * BMIJS + bhi * sapply(BMIJS - knot, max, 0), start = list(knot = 25, :
singular gradient
nls code:
test <- nls(FM~blow*BMIJS+bhi*sapply(BMIJS-knot,max,0),start=list(knot=25,blow=1,bhi=1),data=FeMaleData)
summary(test)
greatly shortened version of my data (the full data set has 450 records)
FM BMIJS
2 55.878 40.57273
4 34.270 27.76939
5 20.123 21.73818
6 19.320 19.71203
9 49.701 43.55356
10 51.188 37.84742
11 46.753 37.71003
13 65.079 37.23438
14 37.097 36.81806
15 30.625 29.92783
17 50.617 42.42754
18 63.954 48.78709
20 29.790 26.97648
21 36.558 34.79373
22 41.275 33.03063
24 27.682 27.24508
26 37.968 35.41399
28 24.878 27.20250
30 47.513 35.77961
31 51.315 37.46032
33 41.944 36.40212
34 38.150 32.83818
35 60.719 42.48594
36 42.643 34.29355
38 40.728 32.42817
42 34.814 30.57573
43 32.896 29.32912
44 30.430 25.44183
46 48.986 37.90910
49 47.485 36.34642
52 46.312 38.64647
54 45.228 33.08783
55 45.391 35.86965
59 37.256 32.66507
60 27.367 28.49880
63 38.663 34.34131
64 34.527 29.57858
67 58.368 38.97266
68 13.473 17.35397
69 22.456 20.80958
71 28.829 25.50056
73 15.487 20.22202
76 18.313 21.38991
77 41.535 36.85707
78 56.124 40.51978
80 52.587 40.77256
81 24.991 25.48543
83 56.327 39.97214
84 70.836 36.52915
85 62.294 42.45244
86 39.689 35.18527
87 35.006 35.15136
88 47.378 37.54779
89 18.149 23.99236
90 33.041 28.10476
91 28.884 26.74443
92 37.670 32.25230
94 55.410 43.72364
99 34.461 35.05930
101 59.727 42.83035
102 41.913 35.64677
104 66.644 41.01642
105 55.250 43.86426
107 45.196 31.78370
108 36.476 33.45537
109 34.386 29.08402
110 39.277 36.98500
111 53.789 45.54654
112 33.077 29.09559
116 57.246 39.98031
120 52.546 40.12191
122 34.409 29.70977
123 31.188 28.75295
126 54.567 38.15226
129 19.193 22.71878
133 39.322 33.45712
134 41.415 31.28980
136 57.616 36.94016
140 28.162 24.40219
142 37.524 29.92673
143 29.611 29.15452
144 26.780 26.53462
146 47.219 35.14919
147 35.341 28.68955
148 44.827 37.68317
149 54.180 41.12226
150 41.636 30.00930
151 33.626 28.00164
156 34.334 29.64970
160 36.317 30.12031
161 46.823 35.64603
163 39.506 34.27740
164 61.619 39.20019
169 48.984 35.77558
171 66.467 41.59008
172 70.144 42.79996
173 37.324 31.56521
174 66.882 46.04938
182 54.239 38.21065
184 48.800 32.01630 Thanks,John
John David Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)
Confidentiality Statement:
This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
More information about the R-help
mailing list