2012-06-01 3 views
2

C# 응용 프로그램에서 R 언어를 사용하려고합니다.C# 및 R 문제 통합

여기에 지침 - http://joachimvandenbogaert.wordpress.com/2009/03/26/r-and-c-on-windows/을 따라했으며 COM을 통해 R 서버에 성공적으로 연결할 수 있습니다. 그러나 연산의 결과를 얻으려고하면 값 대신 null이됩니다.

connector.EvaluateNoReturn("x <- c(2,3,5,1,4,4)"); 
var result = connector.Evaluate("sum(x)"); // it is always null here 

내가 무엇을 확인해야합니까? 내 VS 프로젝트/솔루션을 위해 컴파일 모드를 X86으로 설정했습니다. bin 폴더의 i386 하위 폴더에 모든 환경 변수를 지정했지만 아무것도 도움이되지 않습니다.

Win7 64 비트, R 버전 2.15.0이 있습니다. 아마 64 비트 R을 시도해야할까요?

+0

먼저 R 2.14를 사용하는 것이 좋습니다. 이러한 COM 인터페이스는 버전 의존성이 높기 때문에 이러한 인터페이스를 사용하여 포기한 이유 중 하나입니다. –

+0

그리고 지금 무엇을 사용합니까? C#과 R을 통합하는 또 다른 솔루션이 있습니까? – Sergei

+1

글쎄, 내가 사용하려고 http://rdotnet.codeplex.com/입니다. 훌륭한 개념이지만 이륙하지는 않습니다 (http://rdotnet.codeplex.com/workitem/7에서 제 부분을보십시오). 거의 업데이트되지 않습니다. 확실히 표시되어있는 것처럼 "안정적"이지 않습니다. 커뮤니티는 너무 작습니다. 나는 현재 성숙한 제품인 RServe를 사용하고 있는데, C#과 함께 잘 작동하지 않더라도; 그리고 Dirk Edelbüttel은 Windows를 싫어합니다. –

답변

3

뻔뻔한 자기 승진 : RserveCLI도 있고, .NET에서 Rserve에 액세스하는 또 다른 라이브러리가 있습니다. 작년에 R/Finance 컨퍼런스에서 발표했는데 작은 사용자층이있는 것 같습니다.

0

올리버의 답을 따라 RserveCLI2 올리버의 프로젝트 포크를 시도해 볼 수 있습니다.

0

체크 아웃 할만한 다른 게시물이 있습니다 (How can I access Windows COM objects in R v3?).

그러나 실제로, 뻔뻔한 플러그 R.NET은이 원래 게시물과 Dieter Menne의 의견 (* nix 플랫폼 포함) 이후 몇 차례 진출했습니다. .NET과 R interop을 필요로하는이 게시물을 읽는 독자는이 기능을 사용해 볼 수도 있습니다.