[R] Code translation from R to MATLAB
    Ana Cristiuc 
    cristiucana at gmail.com
       
    Wed Oct 14 20:49:30 CEST 2015
    
    
  
Dear Ted,
I have found on Internet your very good comments on R vs MATLAB languages.
I am a beginner in both languages, but unfortunately I have got a task to
translate a huge code from R to MATLAB.
Could you please recommend me some references or advices how to handle the
problems appearing from the differences between languages.
I was trying today to translate the below lines of code from R to MATLAB,
but very unsuccessfully.
Could you please help me by saying, at least, if I have any chances to
translate this R function to a function in  MATLAB or  it will be simpler
to avoid a function body for the initialization.
This is the first function from the attached script. It is the hardest part
of the code:
init <- function(N=3) {
    ## initialize model settings and load data
    ## Globals, side effects:
    ##  sets n.per, N, W, Y, dates, mats
    n.per <<- 12 # monthly data
    N <<- N      # three risk factors
    ## load yield data
    ## cat("loading GSW yield data...\n")
    ## if ('data' %in% dir()) {
    ##     load("data/gsw_data_monthly.RData")  # Y, dates, mats
    ## } else {
    ##     load("../data/gsw_data_monthly.RData")  # Y, dates, mats
    ## }
    ## ##mat.sel <- c(1:12)
    ## ##mat.sel <- c(3:12)  ## one through ten years
    ## mat.sel <- 2+c(1,2,3,4,5,7,10)
    ## Y <- Y[,mat.sel]/100/n.per
    ## mats <- mats[mat.sel]*n.per
    cat("loading Anh Le's yield data...\n")
    if ('data' %in% dir()) {
        load("data/le_data_monthly.RData")  # Y, dates
    } else {
        load("../data/le_data_monthly.RData")  # Y, dates
    }
    ## mats <- c(3,6,12,24,36,48,60,72,84,96,108,120)
    ##mats <- c(12,24,36,48,60,72,84,96,108,120)
    mats <- c(12,24,36,48,60,84,120)
    Y <- Y[,mats]/n.per
    if (dim(Y)[2]!=length(mats)) stop("wrong number of columns in yield
matrix");
    start.sample <- 19900101
    start.date <<- c(1990,1)
    ##start.sample <- 19850101
    ##start.date <<- c(1985,1)
    end.sample <- 20071231
    sel.sample <- dates>=start.sample & dates<=end.sample
    Y <- Y[sel.sample,]  ## change local variable
    dates <- dates[sel.sample]
    cat("sample from", as.character(min(dates)), "to",
as.character(max(dates)), "\n")
    ## first N principal components => pricing factors
    W <<- getW(Y, N)
    ## make local variables global   -- alt:  assign("Y", Y, env=.GlobalEnv)
    Y <<- Y; dates <<- dates; mats <<- mats
}
My understanding is that I can specify this initialization outside of a
function, but I am not sure.
I hope you will have some  free minutes to help me.
Many thanks in advance for your help!
Best regards,
Ana Cristiuc,
    
    
More information about the R-help
mailing list