问题
I get two vectors as output from R analysis, respectively>
[1] "216" "217" "218" "219" "220" "221" "222" "223" "224" "225" "226"
[1] 10014733 10014665 10014588 10014504 10014415 10014321 10014227 10014145 10014076 10014014 10013963
Let's call the first one a and the second one b. When I do lm(b~a), it throws out
Call:
lm(formula = b ~ a)
Coefficients:
(Intercept) a217 a218 a219 a220 a221 a222 a223 a224
10014733.4 -68.1 -145.8 -229.8 -318.5 -412.8 -506.4 -588.2 -657.4
a225 a226
-719.4 -770.8
I just want to fit a simple line, which can further be plotted with abline... Is this a data structure problem?
Thanks!
回答1:
Try running a <- as.numeric(as.character(a))
or a <- as.numeric(levels(a))[a]
before the regression. Now a
is set up as a factor, and the regression treats is in a way that each value in a is going to be assigned it's own coefficient, thus providing you with a stepwise response instead of a straight line.
来源:https://stackoverflow.com/questions/38157053/datatype-for-linear-model-in-r