문제

저는 R을 처음 접했고 R 코드 작성에 대한 "좋은" 관행으로 간주되는 것과 관련된 다양한 소스를 온라인에서 수집하여 정보를 모으는 데 어려움을 겪고 있습니다.기본 가이드를 읽었지만 최신 정보를 찾는 데 어려움을 겪고 있습니다.

  1. 잘 작성/문서화된 S3 클래스의 예는 무엇입니까?
  2. 해당 S4 클래스는 어떻습니까?
  3. .R 클래스/함수에 주석을 달 때 어떤 규칙을 사용합니까?모든 의견을 .Rd 파일과 .R 파일에 모두 넣으시나요?이러한 파일의 동기화가 번거롭습니까?
도움이 되었습니까?

해결책

S3, S4 또는 패키지를 사용할지 여부는 대부분 스타일 문제입니다(Dirk가 말했듯이). 그러나 매우 잘 구조화된 객체를 원한다면(다른 OOP 언어에서와 마찬가지로) 둘 중 하나를 사용하는 것이 좋습니다. ).예를 들어, 모든 시계열 클래스에는 시계열 객체가 있습니다(다음을 제외하고는 모두 S3라고 생각합니다). 그것은) 해당 객체의 구성 및 사용과 관련된 특정 동작을 강제할 수 있기 때문입니다.패키지 생성에 관한 질문과 유사하게:코드를 자주 재사용하거나 코드가 다른 사람에게 유용할 경우 이렇게 하는 것이 좋습니다.조금 더 노력이 필요하지만 추가된 조직 구조로 비용을 쉽게 보충할 수 있습니다.

S3 vs.S4(R-Help에서 논의됨) 여기 그리고 여기), 기본 지침은 S3 클래스가 더 많다는 것입니다. "빠르고 더러운" S4 클래스가 더 많은 것을 배치하는 동안 개체 및 유형에 대한 엄격한 제어.Bioconductor 작업을 하고 있다면 일반적으로 S4를 사용하게 됩니다(예를 들어, "S4 클래스 및 메소드").

다음 중 일부를 읽어 보는 것이 좋습니다.

  1. Christophe Genolini의 "S4에 대한 (그렇지 않음) 짧은 소개"
  2. "프로그래머의 틈새 시장:S3 및 S4의 간단한 클래스(Thomas Lumley 작성)
  3. "브로브딩나그:S4 방법을 사용하는 'hello world' 패키지" 작성자: Robin K.에스.한킨
  4. Douglas Bates의 "패키지를 S4로 변환"
  5. John Chambers의 "S4 방법 작동 방식"

문서화를 위해 Hadley의 제안은 다음과 같습니다.Roxygen은 삶을 더 쉽게 만들고 코드 바로 옆에 문서를 배치합니다.그 외에도 코드에 다른 주석을 제공하고 싶을 수도 있습니다. 그 너머에 Roxygen 또는 man 파일에 필요한 것. 이 경우 다른 개발자를 위해 코드에 주석을 추가하는 것이 좋습니다.해당 주석은 패키지에 포함되지 않습니다.소스 코드에서만 볼 수 있습니다.

다른 팁

3. Roxygen을 사용하십시오 - Javadoc과 같이 작동하여 소스 파일에서 주석을 가져 와서 RD 파일을 빌드하십시오.

그것은 6 개 이상의 질문으로 한 번에 묶여 있으므로 대답하기가 어렵습니다.

따라서 내부에서 시도해 봅시다. 먼저 RodBC 래퍼 문제를 해결하십시오. 코드 표현은 그 자체로 제안됩니다. 간단한 기능으로 시작한 다음 주위에 패키지를 만들 것입니다. 그것은 이미 당신에게 캡슐화를 제공합니다.

나머지의 대부분은 스타일입니다. 일부 눈에 띄는 R 코드는 S4에 의해 맹세하지만 다른 코드는 그것에 대해 맹세합니다. R 자체의 코드뿐만 아니라 항상 다른 패키지를 읽을 수 있습니다. 또한 항상 RodBC 래퍼를 다양한 방식으로 재 구현하고 자신의 접근 방식을 비교할 수 있습니다.

편집하다: 업데이트 및 단축 된 질문을 반영합니다. 특히 CRAN에서 일부 패키지를 선택하십시오. 나는 당신이 당신의 스타일에 따라 다소 흥미로운 것을 빨리 찾을 것이라고 생각합니다.

물질보다 다소 더 많은 스타일과 관련이 있지만 Google R 스타일 가이드 읽을 가치가 있습니다 :

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top