05.05.09: R에서 C 함수를 호출하는 6단계

R-Blogger · 블로그·해설 · 2009-05-18

R-Blogger블로그·해설한국어2009-05-18

05.05.09: R에서 C 함수를 호출하는 6단계

R에서 C 함수 호출하기 TasksWrap for netMotifs Submit Abstract for PhD Retreat Read Architecture paper Özgür's WST data and Uli's RTCA data R에서 C 함수를 호출하려면 다음과 같은 이유가 있다. 하나는 성능 향상이다. 예를 들어, 두 개의 유한 시퀀스의 컨볼루션을 수행하는 경우가 이에 해당한다. 이러한 예는 Writing R Extensions tutorial에서 다루어지는 ‘WRE tutorial’과 같은 사례이다. 또 다른 이유는 이미 C 또는 Fortran으로 구현되어 있는 기존 코드를 활용하려는 경우이다. 예를 들어, Nadav Kashtan, Uri Alon 및 그 동료들이 제공한 mfinder 소스 코드를 활용할 수 있다. 자동 래퍼 도구인 SWIG (Simplified Wrapper and Interface Generator)가 이러한 작업을 자동으로 수행할 수 있다고 주장할 수 있다. 하지만 두 가지 상황에서는 수동으로 구현하는 것이 유리하다. 첫 번째는 사용자가 자신의 R 함수/패키지에 처음으로 C 루틴을 포함시키고자 할 때이다. 이 과정이 어떻게 동작하는지 알면 매우 흥미롭다. 두 번째는 SWIG이 아직 완전히 지원하지 않는 복잡한 데이터 구조를 다룰 때이다. 이 경우 수동으로 래퍼를 작성하는 방법을 이해해야 한다. R에서 C 함수를 호출하기 위해서는 다음 단계를 따라야 한다. 예를 들어, 'myC'라는 토이 예제를 작성한다. void myC(int* lower, int* upper) { int i; printf("\t Number \t\t Sqaure Root of the Number\n"); for(i = *lower; i
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2009-05-18