Monte Carlo with mc2d

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Monte Carlo with mc2d

mcdonnet
Hi all,

 

I posted a question to Stack Overflow a couple weeks ago regarding Monte
Carlo simulation with mc2d with no replies:

https://stackoverflow.com/questions/48306933/grid-based-monte-carlo-simulati
on-using-mc2d

 

Might anyone here have a suggestion for how to address the error?

 

My approach is largely based on this advice:

http://r-sig-geo.2731867.n2.nabble.com/apply-monte-carlo-simulation-for-each
-cell-in-a-matrix-originally-raster-td7367094.html#a7367555

 

Thanks in advance for any suggestions,

Todd

 

--

Todd McDonnell

Research Scientist, Ph.D.

E&S Environmental Chemistry

2161 NW Fillmore Ave., Corvallis, OR

 


        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Monte Carlo with mc2d

Vijay Lulla
Return the min,mean,max values as a list of numbers and calc will create a
RasterStack.  ?`calc` states that 'calc' returns a RasterBrick if 'fun'
returns more than one number.  Below are a few minor changes I had to make
to your function.

fun <- function(x) {
  # Convert each raster to mcnode object
  dA <- mcdata(x[1], type="0")
  dB <- mcdata(x[2], type="0")
  dC <- mcdata(x[3], type="0")
  dD <- mcdata(x[4], type="0")

  # Define uniform distirbutions for each raster
  stA <- mcstoc(runif, type="U", min=dA-uA, max=dA+uA, rtrunc=TRUE, linf=0)
# modified: fixed typo!
  stB <- mcstoc(runif, type="U", min=dA-uB, max=dA+uB, rtrunc=TRUE, linf=0)
  stC <- mcstoc(runif, type="U", min=dA-uC, max=dA+uC, rtrunc=TRUE, linf=0)
  stD <- mcstoc(runif, type="U", min=dA-uD, max=dA+uD, rtrunc=TRUE, linf=0)

  # Apply Monte Carlo to this equation
  CL <- stA + stB + stC + stD
  # Extract the min, mean, and max CL from the 1000 iterations
  c(min(CL), mean(CL), max(CL))  # modified: return vector of numbers
}

HTH,
Vijay.


On Tue, Jan 30, 2018 at 11:23 AM, Todd McDonnell <
[hidden email]> wrote:

> Hi all,
>
>
>
> I posted a question to Stack Overflow a couple weeks ago regarding Monte
> Carlo simulation with mc2d with no replies:
>
> https://stackoverflow.com/questions/48306933/grid-based-
> monte-carlo-simulati
> on-using-mc2d
>
>
>
> Might anyone here have a suggestion for how to address the error?
>
>
>
> My approach is largely based on this advice:
>
> http://r-sig-geo.2731867.n2.nabble.com/apply-monte-carlo-
> simulation-for-each
> -cell-in-a-matrix-originally-raster-td7367094.html#a7367555
>
>
>
> Thanks in advance for any suggestions,
>
> Todd
>
>
>
> --
>
> Todd McDonnell
>
> Research Scientist, Ph.D.
>
> E&S Environmental Chemistry
>
> 2161 NW Fillmore Ave., Corvallis, OR
>
>
>
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> [hidden email]
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>



--
Vijay Lulla, Ph.D.

Assistant Professor,
Dept. of Geography, IUPUI
425 University Blvd, CA-207C.
Indianapolis, IN-46202
[hidden email]

<http://vijaylulla.com>
http://vijaylulla.com

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: Monte Carlo with mc2d

mcdonnet
This works great, many thanks Vijay. I have updated the code on Stack Overflow as well.

 

Todd

 

From: Vijay Lulla [mailto:[hidden email]]
Sent: Tuesday, January 30, 2018 11:36 AM
To: Todd McDonnell
Cc: R-sig-geo Mailing List
Subject: Re: [R-sig-Geo] Monte Carlo with mc2d

 

Return the min,mean,max values as a list of numbers and calc will create a RasterStack.  ?`calc` states that 'calc' returns a RasterBrick if 'fun' returns more than one number.  Below are a few minor changes I had to make to your function.

fun <- function(x) {
  # Convert each raster to mcnode object
  dA <- mcdata(x[1], type="0")
  dB <- mcdata(x[2], type="0")
  dC <- mcdata(x[3], type="0")
  dD <- mcdata(x[4], type="0")

  # Define uniform distirbutions for each raster
  stA <- mcstoc(runif, type="U", min=dA-uA, max=dA+uA, rtrunc=TRUE, linf=0) # modified: fixed typo!
  stB <- mcstoc(runif, type="U", min=dA-uB, max=dA+uB, rtrunc=TRUE, linf=0)
  stC <- mcstoc(runif, type="U", min=dA-uC, max=dA+uC, rtrunc=TRUE, linf=0)
  stD <- mcstoc(runif, type="U", min=dA-uD, max=dA+uD, rtrunc=TRUE, linf=0)

  # Apply Monte Carlo to this equation
  CL <- stA + stB + stC + stD
  # Extract the min, mean, and max CL from the 1000 iterations
  c(min(CL), mean(CL), max(CL))  # modified: return vector of numbers
}

HTH,

Vijay.

 

 

On Tue, Jan 30, 2018 at 11:23 AM, Todd McDonnell <[hidden email]> wrote:

Hi all,



I posted a question to Stack Overflow a couple weeks ago regarding Monte
Carlo simulation with mc2d with no replies:

https://stackoverflow.com/questions/48306933/grid-based-monte-carlo-simulati <https://stackoverflow.com/questions/48306933/grid-based-monte-carlo-simulation-using-mc2d>
on-using-mc2d



Might anyone here have a suggestion for how to address the error?



My approach is largely based on this advice:

http://r-sig-geo.2731867.n2.nabble.com/apply-monte-carlo-simulation-for-each <http://r-sig-geo.2731867.n2.nabble.com/apply-monte-carlo-simulation-for-each-cell-in-a-matrix-originally-raster-td7367094.html#a7367555>
-cell-in-a-matrix-originally-raster-td7367094.html#a7367555



Thanks in advance for any suggestions,

Todd



--

Todd McDonnell

Research Scientist, Ph.D.

E&S Environmental Chemistry

2161 NW Fillmore Ave., Corvallis, OR




        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo




--

Vijay Lulla, Ph.D.



Assistant Professor,

Dept. of Geography, IUPUI

425 University Blvd, CA-207C.

Indianapolis, IN-46202

[hidden email]

 <http://vijaylulla.com>


http://vijaylulla.com


        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo