2012-05-23 4 views
3

파일 b.R에서 작성된 함수와 snw 파일 c.snw를 호출하는 a.R 파일에 Rjob 기록이 있습니다. 나는 "R CMD c.snw"를 통해 c.snw를 부른다.Sweave, 소싱 된 R-Function 파일을 포함합니다.

\ SweaveInput {a.R}을 통해 a.R을 c.snw에만 포함시킬 수있는 가능성을 찾고 있지만 a.R에서 호출 된 함수의 코드도 tex 파일에 기록해야합니다. 이것은 Sweave가 포함 된 메인 R 파일 (여기에서는 a.R)의 모든 source() 명령을 추적한다는 것을 의미합니다.

누구든지이 방법을 제안 할 수 있습니까?

답변

2

a.Rsource("b.R", echo = TRUE)을 사용하면 원하는 것을 얻을 수있을 것이라고 확신합니다.

+0

감사합니다. 그보다 한 걸음 더 나아. – user1407220

6

이 경우 knitr 패키지를 사용하면 더 쉬울 것입니다. 당신은 c.Rnw 그것을 덩어리 label-aa.R을 읽고 쓸 수 있습니다 :

<<read-code>>= 
read_chunk('a.R', labels = 'label-a') 
@ 
<<label-a>> 
@ 

때 당신이 결과로 c.Rnwlibrary(knitr); knit('c.Rnw')로, a.R이 포함됩니다 컴파일 (가 청크 label-a에 & 붙여 넣기 코드를 복사하는 것과 동일) . 이를 knitrcode externalization이라고합니다.

\SweaveInput{}은 R 소스 코드를 입력하는 데 사용되지 않습니다. Rnw 문서 만 입력 할 수 있습니다.