1. R Project
R Project 는 무료로 광범위한 통계분석을 할 수 있는 프로그램입니다.
https://www.r-project.org/
스트립트를 하나하나 작성하면서 분석해야 하기 때문에 상용 소프트웨어에 비하여 불편한 점이 많습니다.
2. R Studio
이를 좀 더 쉽게 해 줄수 있는 프로그램이 R Studio 입니다.
https://www.rstudio.com/
R Studio 를 사용하면 명령어 자동완성, 데이터 테이블 형식으로 보기 기능 등을 제공하여 쉽게 R Project를 사용할 수 있습니다.
R Studio 는 R Project가 설치되어 있어야 실행 가능합니다.
3. Shiny from R Studio
Shiny from R Studio 를 활용하면 R Project 의 내용을 웹 버전으로 개발할 수 있습니다.
http://shiny.rstudio.com/
사실은 이 방법이 모든 단말기에서 R 프로젝트를 수행할 수 있는 최적의 도구인거 같습니다.
추후에 사용해 보고 별도의 글을 남기겠습니다.
4. Visual Studio용 R 도구
Visual Studio 에서도 2015년 버전 부터 R 도구를 설치해서 사용할 수 있습니다.
https://docs.microsoft.com/ko-kr/visualstudio/rtvs/installing-r-tools-for-visual-studio
Visual Studio와 R을 사용해 본 사람은 다른 언어 프로그래밍과 동일하게 디버깅을 할 수 있습니다.
Visual Studio용 R 도구는 R Project가 없어도 실행 가능합니다.
제가 파악한 Visual Studio용 R 도구는 R 언어를 Visual Studio 에서 실행하는 것이 전부인거 같습니다.
(컨트롤과 연동하는 방법이 있다면 댓글 남겨주세요.)
5. R.Net
윈도우 프로그램 개발에서 R 언어를 사용하기 위해서는 R.Net을 설치해서 사용할 수 있습니다.
http://jmp75.github.io/rdotnet/getting_started/
Visual Studio 2017 기준으로 상단 메뉴의 [도구(T) → Nuget 패키지 관리자(N) → 솔루션용 Nuget 패키지 관리...]을 실행한 다음 R.Net을 검색해서 가장 상단에 있는
R.Net 과 R.Net Community를 설치합니다.
여기서 중요한 점. 개발중인 .net framework 버전이 4.0 이면 R.Net 최신버전(1.7.0) 설치가 불가능합니다.
저는 4.0 버전을 사용중이어서 R.Net 1.5.5 버전을 설치하였습니다.
(.net framework 버전이 4.5 이상이면 R.Net 최신버전(1.7.0)을 설치해 주세요)
R.Net Community 도 개발중인 프레임워크 버전에 따라 설치해 주세요.
개발중인 .net framework 버전이 4.0 이면 R.Net Community 최신버전(1.7.0) 설치가 불가능합니다.
저는 4.0 버전을 사용중이어서 R.Net Community 1.6.5 버전을 설치하였습니다.
(.net framework 버전이 4.5 이상이면 R.Net Community 최신버전(1.7.0)을 설치해 주세요)
R.Net을 사용하려면 컴퓨터에 R Project가 설치되어 있어야 합니다.
그런데 최신 버전(3.5.0)을 설치하면 안되고 이전 버전(3.4.4)을 설치해야 R.Net을 사용할 수 있습니다.
(해당 오류는 나중에 해결될 수 있습니다. 해결되었다면 댓글 남겨주세요.)
이제 아래 문서에서 제공하는 2개의 예제를 실행해 보겠습니다.
http://jmp75.github.io/rdotnet/tut_basic_types/
예제1. HelloWorld
콘솔 프로젝트메인 코드에 아래 내용을 입력합니다.
static void Main(string[] args)
{
REngine.SetEnvironmentVariables(); // <-- May be omitted; the next line would call it.
REngine engine = REngine.GetInstance();
// A somewhat contrived but customary Hello World:
CharacterVector charVec = engine.CreateCharacterVector(new[] { "Hello, R world!, .NET speaking" });
engine.SetSymbol("greetings", charVec);
engine.Evaluate("str(greetings)"); // print out in the console
string[] a = engine.Evaluate("'Hi there .NET, from the R engine'").AsCharacter().ToArray();
Console.WriteLine("R answered: '{0}'", a[0]);
Console.WriteLine("Press any key to exit the program");
Console.ReadKey();
engine.Dispose();
}
실행하면 다음과 같은 결과가 콘솔 창에 실행됩니다.
예제2. BasicNumericExample
콘솔 프로젝트메인 코드에 아래 내용을 입력합니다.
static void Main(string[] args)
{
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance();
// REngine requires explicit initialization.
// You can set some parameters.
engine.Initialize();
// .NET Framework array to R vector.
NumericVector group1 = engine.CreateNumericVector(new double[] { 30.02, 29.99, 30.11, 29.97, 30.01, 29.99 });
engine.SetSymbol("group1", group1);
// Direct parsing from R script.
NumericVector group2 = engine.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.
GenericVector testResult = engine.Evaluate("t.test(group1, group2)").AsList();
double p = testResult["p.value"].AsNumeric().First();
Console.WriteLine("Group1: [{0}]", string.Join(", ", group1));
Console.WriteLine("Group2: [{0}]", string.Join(", ", group2));
Console.WriteLine("P-value = {0:0.000}", p);
// you should always dispose of the REngine properly.
// After disposing of the engine, you cannot reinitialize nor reuse it
engine.Dispose();
}
실행하면 다음과 같은 결과가 콘솔 창에 실행됩니다.
이제 R Project(3.4.4 버전 이하)가 설치된 컴퓨터에서 윈도우용 프로그래밍을 활용하여 통계 분석을 할 수 있습니다.
Visual Studio용 R 도구와 연결하면 R Project 설치 없이도 윈도우 프로그래밍이 가능해 보이는데 아직 방법을 찾지 못하였습니다.
아시는 분 있으면 댓글 남겨주세요.
감사합니다.