2011-02-13 4 views
7

나는 R에 상당히 익숙하다. 그리고 나를 치는 한 가지는 상당히 느리게 움직인다는 것이다. R 최적화를위한 문서가 있습니까? 예를 들어, Python을 최적화하는 것은 매우 훌륭한 것으로 나타납니다. here. 내 특별한 경우에는 일괄 처리 작업을 위해 R을 최적화하는 데 관심이 있습니다.R의 성능을 최적화하는 데 필요한 모든 설명서?

나는 인터넷 검색을 물론 시도했지만, R이 매우 일반적인 검색 패턴이므로 Google 정보가 정확하지 않습니다.

+1

@ c00kiemonster, 최적화면에서 MATLAB에 대한 많은 정보도 R에 해당됩니다. 절차 적 언어가 아니므로 절차 적으로 작업하려고하면 좌절감을 낳을 수 있습니다. 예를 들어, R에서 모든 비용을 들여 1000 개 이상의 인덱스에 ** ** 회 돌이가 발생하지 않도록하십시오. (적어도 하나는 물론 두 개 정도가 MATLAB보다 느립니다.) ** 루핑이 더 낮은 레벨에서 발생하고 따라서 훨씬 더 효율적이기 때문에 가능한 모든 곳에서 ** 함수를 적용하십시오. 또한 R의 메모리 관리자는 일반적으로 가난하므로주의해야합니다. –

+0

@ cardinal, 좋은 팁. 감사합니다 – c00kiemonster

+3

Google 대신 http://rseek.org/을 시도해보십시오. – onestop

답변

5

예, R은 검색 용어로 다소 어색하기 때문에 R 내에서 RSiteSearch ("performance")를 시도하십시오. 이것은 많은 R 워드 프로세서 소스에서 검색 할 것입니다.

2

"상당히 느리게 움직입니다."매우 모호합니다. 가장 효율적인 방법으로 R을 사용하는 방법은 많습니다. 일반적인 규칙은 "회피 및 벡터화"입니다. 그러나 크기를 조정하지 않고 사전 할당 된 객체를 보장하는 것과 같은 많은 방법이 있습니다.

정말 어떤 일을하는지에 따라 다르므로 좀 더 자세하게 설명하십시오. 표준 문서에는 기본 사항에 대한 많은 팁이 있으며 질문을 통해 실제로 누군가를 역습 할 수있는 기회가 주어지지 않습니다.

표준 R이 필요에 따라 실제로 제한 될 경우 C와 같은 컴파일 된 언어로 직접 작성하거나 Rcpp와 같은 고급 인터페이스를 사용할 수 있습니다. 기본 R 툴킷을 뛰어 넘는 다른 도구 및 기술에 대해서는 CRAN의 "고성능 컴퓨팅"작업보기를 참조하십시오.

9

처음에는 R Inferno by Patric Burns을 살펴보아야합니다.

가장 좋은 아이디어는 여기에서보다 자세한 질문을하는 것입니다.

3

'효율적인 프로그래밍의 연구'에 대한 간단한 Google 검색은 다음과 같은 우수한 자료를 보여줍니다. 첫 번째 자원은 R에서 작업을 프로그래밍하는 좋지 않은 최선의 방법을 비교하기 때문에 훌륭합니다. 두 번째 자원이 더 일반적입니다.

  1. http://perswww.kuleuven.be/~u0044882/Research/slidesR.pdf
  2. http://www.bioconductor.org/help/course-materials/2010/BioC2010/EfficientRProgramming.pdf 당신이 당신의 R 코드를 최적화하는보다 구체적인 영역에서 찾는 경우

, 더 명확하게 지정하고 난 당신이 전문가를 여기에서 찾을 수 있습니다 확신합니다!

+0

두 번째 링크가 손상되었습니다. – Tyler

+0

이제 첫 번째 문제가 생겼습니다. :) –

관련 문제