R 코드와 출력을 구성하는 효율적인 방법은 무엇입니까? [닫은]


23

다른 사람들이 R 코드와 출력을 구성하는 방법에 대한 입력을 찾고 있습니다.

현재 연습은 텍스트 파일의 블록으로 코드를 작성하는 것입니다.

#=================================================
# 19 May 2011
date()
# Correlation analysis of variables in sed summary
load("/media/working/working_files/R_working/sed_OM_survey.RData")
# correlation between estimated surface and mean perc.OM in epi samples
cor.test(survey$mean.perc.OM[survey$Depth == "epi"], 
    survey$est.surf.OM[survey$Depth   == "epi"]))
#==================================================

그런 다음 일반적으로 주석을 사용하여 출력을 다른 텍스트 파일에 붙여 넣습니다.

이 방법의 문제점은 다음과 같습니다.

  1. 코드와 출력은 날짜별로 명시 적으로 연결되지 않습니다.
  2. 코드와 출력은 시간순으로 구성되므로 검색하기가 어려울 수 있습니다.

나는 목차를 만들 수 있기 때문에 모든 것을 사용하여 하나의 Sweave 문서를 만드는 것을 고려했지만 이것이 제공하는 이점보다 번거로울 수 있습니다.

분석을 효율적으로 검색하고 편집 할 수있는 R 코드 및 출력을 구성하는 데 효과적인 루틴을 알려주십시오.


2
복사 / 붙여 넣기를 피 sink()하거나 capture.output()친구가 될 수 있습니다. Hmisc , Sweave 또는 brew 와 같은보고 유틸리티 는 고려할 가치가 있습니다 (포인트 1). 버전 관리 시스템 ( rcs , svn 또는 git )은 포인트 2에 도움이 될 수 있습니다.
chl

@chl-제안 해 주셔서 감사합니다. 내가 알고하지 않았다 sink()capture.output(). 잘됐다.
DQdlM

1
오늘도 짜다 있습니다!
kjetil b halvorsen

답변:


22

이 질문을 한 사람은 처음이 아닙니다.


+1 그리고 당신이 제공하는 첫 번째 링크는 그 안에 스레드를 참조합니다 :-)
chl

@chl 감사합니다! 나는이 질문이 중복되고 폐쇄되어야하는지 궁금했다.
Bernd Weiss

IMO입니다. 그러나 마감 투표가 없기 때문에 마감 투표를 꺼려합니다. 또한 오래된 질문이 더 일반적 이었지만 과거에는 매우 유사한 질문이 마감되었습니다. 기다렸다가 어떻게되는지 보자.
chl

목록 주셔서 감사합니다! 이것은 매우 유용합니다. 나는이 질문을하는 것이 처음이 아니라고 생각했지만 내 (명확하게 부적당 한) 초기 검색으로 많이 찾지 못하는 것 같습니다.
DQdlM

6

나는 모든 프로젝트 또는 분석마다 4 개의 파일로 모든 것을 구성합니다. (1) 'code'R 함수의 텍스트 파일을 저장하는 위치입니다. (2) 'sql'여기서 데이터를 수집하는 데 사용 된 쿼리를 유지합니다. (3) 'dat'원시 데이터와 처리 된 데이터의 사본 (보통 CSV)을 보관합니다. (4) 'rpt'배포 한 보고서를 저장하는 위치입니다.

내 파일은 모두 'analysis_of_network_abc_for_research_on_modified_buffer_19May2011'과 같은 매우 자세한 이름을 사용하여 이름이 지정됩니다.

또한 가설, 가정, 포함 및 제외 기준, 산출물에 도달하기 위해 취해야 할 단계를 구성하는 자세한 문서를 미리 작성합니다. 이 모든 것이 반복 가능한 연구에 매우 중요하며 연간 목표 설정 프로세스가 쉬워집니다.


2

이제 Sweave로 전환 했으므로 절대 돌아가고 싶지 않습니다. 특히 플롯을 출력으로 사용하는 경우 각 플롯을 만드는 데 사용 된 코드를 추적하는 것이 훨씬 쉽습니다. 또한 처음에 사소한 것을 수정하고 수동으로 아무것도 다시 실행할 필요없이 출력을 통해 리플하도록 훨씬 쉽게 만듭니다.


1
we은 훌륭합니다. 익숙해 지려면 TeX와 R을 이미 알고 있다면 분명한 선택입니다. 또한 테이블 열을 다시 정렬하는 데 시간을 낭비하지 않아도됩니다.
richiemorrisroe

입력 주셔서 감사합니다. Sweave에 대한 두 가지 우려는 1) 디렉토리에 bazillion 파일을 포함시키는 것입니다. 특히 많은 숫자가 있습니다 .2) 전체 문서를 컴파일 할 때마다 딸꾹질을 피하기 위해 코드에주의해야합니다. (예를 들어, 무언가가로드 된 것이 아니라고 생각합니다). 이런 문제가 있습니까?
DQdlM

1) 원하는 경우 중간 파일을 삭제하도록 선택할 수 있습니다. Sweave.sh 스크립트 ( cran.r-project.org/contrib/extra/scripts/Sweave.sh )를 자동으로 사용합니다. 쉽게 끌 수 있습니다. 그렇게하는 경우 재난을 예방하기 위해 사용하기 전에 삭제할 내용을 알고 있어야합니다. 짧은 버전은 Rnw 파일의 기본 이름을 공유하는 파일이 없으면 괜찮습니다.
Aaron-복원 Monica Monica

2) 내 의견으로는, 그런 식으로주의를 기울여야한다는 것은 좋은 일이며 때로는 정확한 목적을 염두에두고 Sweave 문서를 컴파일 할 것입니다. 즉, 분석.
Aaron-복원 Monica Monica

1
@ naught101 : 긴 분석을 위해 별도로 실행하고 결과를 .RDataSweave 문서에서 입력하기 위해 일반적으로 파일로 저장합니다 . 그러나 코드 청크의 결과를 "캐싱"하여 다시 실행되지 않는 몇 가지 훌륭한 옵션도 있습니다.
Aaron-복원 모니카

2

단일 .R 코드 파일을 구성 하는 경우 코드 구분 기호 (선택적 제목 포함)를 삽입하고이를 기반으로 코드 파일 요약을 가져 오기 위해 만든 RStudio 추가 기능인 strcode 를 사용할 수도 있습니다 . 이 블로그 게시물 에서 사용법을 자세히 설명합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.