728x90
반응형
728x170
▶ Program.cs
using System;
using System.Linq;
using RDotNet;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
REngine.SetEnvironmentVariables();
REngine rEngine = REngine.GetInstance();
// REngine이 명시적인 초기화를 요구한다.
rEngine.Initialize();
// 닷넷 프레임워크 배열을 R 벡터로 변환한다.
NumericVector numericVector1 = rEngine.CreateNumericVector(new double[] { 30.02, 29.99, 30.11, 29.97, 30.01, 29.99 });
rEngine.SetSymbol("group1", numericVector1);
// R 스크립트에서 직접 파싱한다.
NumericVector numericVector2 = rEngine.Evaluate("group2 <- c(29.89, 29.93, 29.72, 29.98, 30.02, 29.98)").AsNumeric();
// 평균의 차이를 테스트하고 P-Value를 구한다.
GenericVector genericVector = rEngine.Evaluate("t.test(group1, group2)").AsList();
double pValue = genericVector["p.value"].AsNumeric().First();
Console.WriteLine("Group1 : [{0}]", string.Join(", ", numericVector1));
Console.WriteLine("Group2 : [{0}]", string.Join(", ", numericVector2));
Console.WriteLine();
Console.WriteLine("P-value = {0:0.000}", pValue);
// 항상 REngine을 적절하게 해제해야 한다.
// 엔진 해제 후, 다시 초기화하거나 재사용할 수 없다.
rEngine.Dispose();
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > R.NET' 카테고리의 다른 글
[C#/R.NET] 평균, 중간, 표준 편차, 상관 계수, ANOVA 계산하기 (0) | 2017.07.22 |
---|---|
[C#/R.NET] T 테스트 통계 사용하기 (0) | 2016.05.10 |
[C#/R.NET] Hello, R world! 프로그램 실행하기 (0) | 2016.05.10 |
[C#/R.NET] R.NET NuGet 설치하기 (0) | 2016.05.10 |
[C#/R.NET] R.NET 소스 다운로드 하기 (0) | 2016.05.10 |
댓글을 달아 주세요