Hi, I wish to use R (version 2.13.1) from within Matlab(ver R2009a) on windows XP plaform (on both 64 bit and 32 bit OS) . For this I have installed StatConnector (http://rcom.univie.ac.at/download/current/statconnDCOM.latest.exe) for calling R from within Matlab (R2009a) on Windows XP platform. I have added all the files of MATLAB_RLINK folder (downloaded from http://www.mathworks.com/matlabcentral/fileexchange/5051) into the default Matlab working path (D:\User\MATLAB) and also added the folder MATLAB_RLINK to the matlab path C:\Program Files\MATLAB\R2009a\toolbox . It seems that Matlab is able to connect to R however I am facing a problem while trying to call R functions from within Matlab. I have loaded all required libraries. Shown below is the sequence of commands tried in blue, outcomes in black and errors/unexpected/ undesired outcomes in red colour, and my comments in black,italic after the command:
>> [a b c] = openR a = 1 b = '' c = COM.StatConnectorSrv_StatConnector >> Rdemo b = 1 4 9 16 25 36 49 64 81 100 c = 2 5 10 17 26 37 50 65 82 101 I then tried running the Rdemo available on http://www.mathworks.com/matlabcentral/fx_files/5051/1/content/Rdemo.html evalR('demo("persp")') works well. Also the arithmetic functions all work well: a = 1:10; putRdata('a',a) b = evalR('a^2') evalR('b <- a^2'); evalR('c <- b + 1'); c = getRdata('c') However Now copy the volcano data into MATLAB section and all related sessions therefore dont work. >> volcano = getRdata('volcano') volcano = [] >> size(volcano) ans = 0 0 >> surf(volcano); (see the attached figure:surf_volcano_output.jpg) It seems Matlab is able to read/get data from R. Other subsequent commands related to this section dont work. I tried looking at the loaded libraries in R and in Matlab. In R everything works well, but doesnt seem to be so in Matlab: >> [a b c] = evalR('.libPaths()') a = C:/Program Files/R/R-2.13.1/library b = 1 c = '' >> [a b c] = evalR('library()') a = 'ActiveX VT_ERROR: ' 'base' 'ActiveX VT_ERROR: ' b = 1 c = '' >> [a b c] = evalR('library(rgdal)') a = 'rscproxy' 'lattice' 'fields' 'spam' 'rgdal' 'sp' 'stats' 'graphics' 'grDevices' 'utils' 'datasets' 'methods' 'base' b = 1 c = '' As it shows that rgdal library is loaded, also the rscproxy library is loaded, in addition to all others. I tried following: imshow(imread('testimg_p.tif')) displays the image properly, however calling this from R using rgdal from within Matlab gives error; >> [a b c] = evalR('img <- readGDAL("testimg_p.tif")') a = [] b = 0 c = Invoke Error, Dispatch Exception: Object is static; operation not allowed The command works from R prompt: > img <- readGDAL("testimg_p.tif") testimg_p.tif has GDAL driver GTiff and has 280 rows and 272 columns It is giving same error while loading gstat library: >> [a b c] = evalR('library(gstat) ') a = [] b = 0 c = Invoke Error, Dispatch Exception: Object is static; operation not allowed I guess the error is not related to readGDAL or gstat library but something else which I am unable to trace. I have also tried to explore if this is problem related to version of Matlab/windows 64/32 bit or R version but even that does not seem to be an issue. (I have tried this on two differemt machines one Workstation with WinXP 64 bit OS with R version 2.13.1and Matlab Version 7.8.0 R2009a and also on another portable workstation with WinXP 32 bit OS with R version 2.12.1 and Matlab Version 7.8.0 R2009a. This indicates that version of R or Matlab or win version 64 bit/32 bit does not seem to be an issue. I also checked for some solution on page http://www.mathworks.com/matlabcentral/fileexchange/5051 where others also faced somewhat similar problem and it was suggested to check for setting R_HOME and PATH variables in the environment variables for your system. I understand I had followed all instructions carefully and hopefully all paths/R_HOME were set correctly, as the command evalR('.libPaths()') recognized R home path correctly. I request R team to help. Vandita Srivastava Scientist/Engineer "SE", Indian Institute of Remote Sensing(NRSC), ISRO/Department of Space, Govt. of India >>Please don't print this Email unless you really need to - this will preserve >>trees on planet earth.
______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel