Skip to content

How to evaluate R things from Visual Studio?

7 messages · Giannis Mamalikidis, Peter Ehlers, Jeff Newmiller +1 more

#
Sorry, I have no solution for your problem, but a comment;
see inline below.
On 2012-05-22 08:02, Giannis Mamalikidis wrote:
This appears to imply that you consider it to be R's fault that you
can't easily interface it with Visual Studio. Isn't that rather the
fault of VS? If VS were open source, as R is, you could probably
find an easy solution yourself.

If you don't get a solution from one of those much more knowledgeable
than I, perhaps you might contact Microsoft.

Peter Ehlers
#
Things tend to get done in the open-source world because someone has an itch to scratch. Giannis, you seem to be the one with the itch, and it doesn't appear to be an itch others on this list share. There exists documentation and example code for embedding R within other compiled environments, and there is an R-devel mailing list for questions on interfacing to other code. If you think it is easy, go for it. I suspect that fixing R.NET is likely to take the least amount of work, but it could make assumptions you don't want to make, so I could be wrong. In either case, saying "Why is it THAT difficult?" is not going to win you much support.
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.
Peter Ehlers <ehlers at ucalgary.ca> wrote:

            
#
I understand what you're saying, but I know the mere basic stuff of 
programming. I am unable to exploit the so called "itch" because of my lack 
of knowledge.

also, do you really have to get stuck on semantics??? it's just a sentence 
"what is that difficult?". A mere sentence. I've done a great job writing 50 
more, describing my problem, giving all the necessary info if not more.

I'd really appreciate it if when someone took the time to answer to me, the 
answer itself be relevant.

The facts are: It is something that has been done before, repeatedly. It 
isn't hard, you just have to find the right way, which would take about 1 to 
5 minutes to write down and send it to me in order to help.
And there is much likelihood that many people here do know the way.
So, in a nutshell, it isn't that crazy for me to ask here (having tried many 
other places).

All I'm asking is, if someone has something relevant and helping to share, 
please do so. Otherwise, please refrain from dedicating your time replying 
in vain.

Don't get me wrong, I do thank everyone who has devoted his time in 
answering me, even if not successful, yet at least.
Thanks guys. And remember, I need info on either how to get R.NET working, 
or any other way of using R from Visual Studio. Any useful insight is very 
much appreciated.

-------------------------------------------------------------------------------
Giannis Mamalikidis
e-mail: Giannis_Mamalikidis at msn.com
Member of the STAINS Research Group
(STAtistics & INformation Systems Group) of the
Aristotle University of Thessaloniki
Site: http://stains.csd.auth.gr
B.Sc Student in Electrical and Mechanical Engineering
-------------------------------------------------------------------------------
-----Original Message----- 
From: Jeff Newmiller
Sent: Tuesday, May 22, 2012 11:23 PM
To: Peter Ehlers ; Giannis Mamalikidis
Cc: r-help at r-project.org
Subject: Re: [R] How to evaluate R things from Visual Studio?

Things tend to get done in the open-source world because someone has an itch 
to scratch. Giannis, you seem to be the one with the itch, and it doesn't 
appear to be an itch others on this list share. There exists documentation
and example code for embedding R within other compiled environments, and
there is an R-devel mailing list for questions on interfacing to other code. 
If you think it is easy, go for it. I suspect that fixing R.NET is likely to 
take the least amount of work, but it could make assumptions you don't want 
to make, so I could be wrong. In either case, saying "Why is it THAT 
difficult?" is not going to win you much support.
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
Peter Ehlers <ehlers at ucalgary.ca> wrote:

            
[[elided Hotmail spam]]
#
On Wed, May 23, 2012 at 6:57 AM, Giannis Mamalikidis <n1h1l1s7 at msn.com> wrote:
You ask for help from people who have used R.NET, give them time to
answer. Also, what about folks who have not used it?  "Does not work"
is not enough information. What did you try? Give enough detail so
that someone might follow your footsteps, including VS versions, R
location and version, assumptions made, and links to resources used on
the way.

Cheers, Mike.
On Wed, May 23, 2012 at 6:57 AM, Giannis Mamalikidis <n1h1l1s7 at msn.com> wrote:

  
    
#
FWIW, I got the R.NET example to work on Windows 7 (64-bit OS) with
Visual Studio 10 Express (32-bit only) with their example program
here:

   http://rdotnet.codeplex.com/

I downloaded this file, and set the VS reference to it:

    http://rdotnet.codeplex.com/downloads/get/211446

I used R-2.12.0 as per their example

    REngine.SetDllDirectory(@"C:\Program Files\R\R-2.12.0\bin\i386");

I set R_HOME and R_LIBS to paths for the R-2.12.0 installation.

I read this page:

    http://rdotnet.codeplex.com/documentation?referringTitle=Home

I had a quick stab at using a recent R build, but dropped it to try
the stated version in their example.  There are error messages printed
from the Windows application when it fails and they are worth reading
(and reporting when asking for help).

Cheers, Mike.
On Wed, May 23, 2012 at 8:00 AM, Michael Sumner <mdsumner at gmail.com> wrote:

  
    
1 day later
#
I'll answer line by line so:
I have.. I'm not sure why you seem so certain I didn't. But it is beside the 
point anyway
Folks who haven't used it won't be able to help me anyway.
People who did get it working will be able to help me, and those are the 
people I'm counting on.
The sole reason I did not disclose any R.NET related info is to avoid making 
an already large message, larger.
When I find someone, if I find someone who does have R.NET and can help me, 
I will gladly give any and all needed information
It's worth much, believe me. I really needed another person who got R.NET 
working.

It does work on R 2.12.0, I agree. but i need it to work any latest R.
I can't make my users use old and obsolete versions of R. And people have 
made it work on 2.15.0 (currently latest version) as well.
Can you please tell me exactly what string you put inside R_HOME and R_LIBS 
environment variables? (i.e. "C:\Progs\R\R-2.15.0\bin"? 
"C:\Progs\R\R-2.15.0"? what exactly?)
Also, it was YOU who created those Environmental Variables, right? Because 
they do not exist in my computer and i didn't delete them.
Safe to assume that we're talking about System -> Advanced -> Environment 
Variables -> System Variables. correct?
I've already read every page on rdotnet.codeplex.com

Of course there are. I need not repeat myself. I explained above why no 
direct R.NET info were given.

Now that I have found one guy who has R.NET working, I shall :)

My R version is: 2.15.0 and is installed on "C:\Progs\R\R-2.15.0" instead of 
"C:\Program Files\R\R-2.15.0" (but it doesnt work on that either, tried it)

The code I try to run on R.NET version 1.4.1 (changeset 6d2c3f161801) is the 
example they have on the official page:

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) 
Handles MyBase.Load
            Dim Rdo As REngine = REngine.CreateInstance("RDotNet", "-q") ' 
quiet mode

            ' .NET Framework array to R vector.
            Dim group1 As NumericVector = Rdo.CreateNumericVector(New 
Double() {30.02, 29.99, 30.11, 29.97, 30.01, 29.99})
            Rdo.SetSymbol("group1", group1)

            ' Direct parsing from R script.
            Dim group2 As NumericVector = Rdo.Evaluate("group2 <- c(29.89, 
29.93, 29.72, 29.98, 30.02, 29.98)").AsNumeric()

            ' Test difference of mean and get the P-value.
            Dim testResult As GenericVector = Rdo.Evaluate("t.test(group1, 
group2)").AsList()

            Dim p As Double = testResult("p.value").AsNumeric().First()
    End Sub

The Error i get is this:
System.DllNotFoundException: Dll was not found.
   at RDotNet.NativeLibrary.UnmanagedDll..ctor(String dllName) in 
C:\Users\N1h1l1sT\Downloads\rdotnet_6d2c3f161801\RDotNet.NativeLibrary\UnmanagedDll.cs:line 
42
   at RDotNet.REngine..ctor(String id, String dll)
   at RDotNet.REngine.CreateInstance(String id, String dll)
   at RAttemptFour.Form1.Form1_Load(Object sender, EventArgs e) in 
C:\Users\N1h1l1sT\Dropbox\Visual Basic 2010\Test 
Projects\RAttemptFour\RAttemptFour\Form1.vb:line 35

No matter what i put inside the HOME or R_Home environment variables on my 
windows, it just won't work...
the line 35 refers to this line: "Dim Rdo As REngine = 
REngine.CreateInstance("RDotNet", "-q") ' quiet mode"

-------------------------------------------------------------------------------
Giannis Mamalikidis
e-mail: Giannis_Mamalikidis at msn.com
Member of the STAINS Research Group
(STAtistics & INformation Systems Group) of the
Aristotle University of Thessaloniki
Site: http://stains.csd.auth.gr
B.Sc Student in Electrical and Mechanical Engineering