R - newdata has X rows but variables have X rows
Cut down your problem to a minimal reproducible example and supply data or generate it. For your problem I can reproduce with a data frame with two columns (we don't care if its 99 or 2 columns):

training = data.frame(response=runif(858), balloons=runif(858))
testing = data.frame(response=runif(284), balloons=runif(284))


Now you are fitting the model thus, and getting this error:

lm1 &lt;-lm(training$response ~ training$balloons, data=training)
lm.predict &lt;-predict(lm1, newdata=testing)
## Warning message:
## 'newdata' had 284 rows but variables found have 858 rows 


Your problem is because you are specifying vectors in the model (ie columns of training using the $ column notation) and also specifying a data frame in the data argument (which is ignored). You get the same error if you leave it out:

&gt; lm1 &lt;-lm(training$response ~ training$balloons)
&gt; lm.predict &lt;-predict(lm1, newdata=testing)
Warning message:
'newdata' had 284 rows but variables found have 858 rows 


If your observations are coming from a data frame then you don't need to specify the data as vectors, you give a formula which is evaluated in the context of the data frame:

&gt; lm1 &lt;-lm(response ~ balloons, data=training)


and then:

&gt; lm.predict &lt;-predict(lm1, newdata=testing)


which is 284 predictions as expected.