1. You should regress Elevation on Volume, no?
2. You are calling lm incorrectly for prediction. Please read ?lm and
related links carefully and/or consult a tutorial. R-Help is really not the
first place you should look for this sort of detailed info.
3. I think this is what you want:
lm1 <- lm(Elevation ~ Vol, data = x6) ## assuming (1) above is correct
d <- data.frame(Vol = 3000) ## assuming (1) above is correct
predict(lm1, newdata = d)
Cheers,
Bert
On Sat, Dec 9, 2023 at 10:50?AM javad bayat <j.bayat194 at gmail.com>
wrote:
> Dear all;
>
> I have a dataframe with several columns. The columns are the elevation,
> volume and the area of the cells (which were placed inside a polygon). I
> have extracted them from DEM raster to calculate the volume under polygon
> and the elevation for a specific volume of the reservoir.
>
> > head(x6,2)
> Elevation Vol Area V_sum A_sum
> 1 2145 13990.38 85.83053 13990.38 85.83053
> 2 2147 43129.18 267.88312 57119.56 353.71365
>
> > tail(x6,2)
> Elevation Vol Area V_sum A_sum
> 158 2307 233.0276 233.02756 1771806968 15172603
> 159 2308 0.0000 71.65642 1771806968 15172674
>
> I used a linear model to estimate the elevation for a specific volume, but
> the codes do not work properly.
>
> lm1 = lm(x6[,1]~x6[,4])
> new_volume <- 3,000,000,000
> pred_elev <- predict(lm1, newdata = data.frame(volume = new_volume))
> pred_elev
>
> The results just estimated for the 159 rows of the dataframe, not the new
> volume.
>
> > tail(pred_elev)
> 154 155 156 157 158 159
> 2254.296 2254.296 2254.296 2254.296 2254.296 2254.296
>
> Also I have used the approx function, but it does not work for the new
> volume, too.
>
> > a = x6[,1]
> > b = x6[,4]
> > estimate <- 3,000,000,000
> > appro <- approx(b,a, xout = estimate)
> > appro
> $x
> [1] 3e+09
>
> $y
> [1] NA
>
> I do not know why it has happened.
>
> Is there any way to do this?
> Or maybe there is another way to do that.
> I would be more than happy if anyone help me.
>
> Sincerely
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]