2012-09-19 3 views
4

나는 R Sweave 기능으로 실행되는이 2 줄의 코드를 가지고 있습니다. 제 단지 Sexpr {} 용어이지만 아무것도의 평가를 유발하면서 SweaveInput {} 내에서 Sexpr {} 사용

\SweaveInput{samples.rnw} 
\SweaveInput{\Sexpr{args$samples}} 

첫 번째 라인은, 대응하는 파일의 내용을 포함 리드. 내가 원하는 것은 둘 다입니다 : 먼저 Sexpr {} 용어를 평가하고 나중에 각 파일 내용을 포함 시키십시오.

어떻게 해결할 수 있습니까? 당신이 knitr package를 사용하는 경우 감사

+0

Sweave의 출력을 다시 실행하면서 Sweave를 수행하면 트릭을 수행 할 수 있습니다. 보다 우아한 솔루션이 있습니까? – user1240076

답변

3

이 솔루션은 단순히

<<child='samples.rnw'>>= 
<<child=args$samples>>= 
@ 

Sweave은 프로그래밍의 관점에서 knitr보다 훨씬 약한 것입니다. 예를 들어, knitr은 청크 옵션을 유효한 R 표현식으로 허용하므로 여기서 child=args$samples을 쓸 수 있습니다. knitr은 함수 인수처럼 청크 옵션을 평가합니다.

BTW의 경우 child 옵션은 \SweaveInput{}과 동일하지만 의사 LaTeX 명령을 사용하지 않는 것이 좋습니다. Sweave 대 knitr에 대한 자세한 내용은 http://yihui.name/knitr/demo/sweave/