2011-01-19 3 views
11

R에 패키지를 쓸 때 Rd 형식으로 도움말 페이지를 만든 다음 HTML 페이지로 변환 할 수 있습니다. 도움말 페이지에 예제 코드가 포함되어 있으면 "예제"절에 나와 있습니다.R 패키지의 HTML 도움말 페이지에있는 그림 (R 코드 실행 결과)

예를 들어, 패키지의 기능 "prcomp"에 대한 두 페이지 "통계"이 있습니다 :

  1. 만 예제 코드 : 도표를 가진 http://stat.ethz.ch/R-manual/R-patched/library/stats/html/prcomp.html
  2. 예제 코드 + 결과 : http://rgm2.lab.nig.ac.jp/RGM2/R_man-2.9.0/library/stats/man/prcomp.html

질문은 R 코드 실행 결과를 생성하는 방법이며 특히 출력 수치를 포함합니까? 이는 "결과"섹션에 해당합니다.

나는 HTML에 RD를 변환하려면 다음 명령을 사용

는 R 기능 http://stat.ethz.ch/R-manual/R-devel/library/tools/html/Rd2HTML.html를 호출
R CMD Rdconv -t html $rdfile > $rdname.html 

.

의견이나 제안을 보내 주시면 감사하겠습니다. 감사합니다. .

+0

여기를 참조하십시오 : [Rd 문서의 이미지 포함] (http://romainfrancois.blog.free.fr/index.php?post2010/04/03/embed-images-in-Rd-documents) – rcs

답변

8

helpr 패키지는 웹 프론트 엔드를 제공하는 문서를 확인할 수 있습니다.이 패키지는 다른 많은 개선점과 함께 예제의 결과를 표시합니다.

+0

+ 1 헬프 러는 지난 번 체크 아웃 한 이래로 * nice *를 찾고 있습니다! disqus 의견은 전 세계적으로 공유됩니까? – Sharpie

+1

예 - 로컬 설명서에 대한 전체적인 의견을 제시하는 것이 좋습니다. – hadley

4

귀하의 의견에 대해 @rcs 및 @hadley에게 감사드립니다.

사실 두 제안 된 해결책이 내 필요에 맞지 않는 것처럼 보입니다. 전환 Roxygen> Rd를 사용할 때 Rd 형식으로 이미지를 포함하는 것은 사실이 아닙니다. 'helpr'패키지는 정말 인상적이지만, 컴퓨터에 설치 한 모든 패키지에 대한 지식 기반을 구축하는 데 더 적합하다고 생각합니다. 패키지 개발자로서 혼자서 변경을 할 수있는 유연성이 필요한 기본적인 것이 필요했습니다.

마지막으로, 나는 예상 한대로, fitSpline.html을 얻었습니다. 이것은 질문에 넣은 참고서 인 prcomp.html과 아주 비슷합니다.

"도구"패키지를 채택하여 HTML 문서에 이미지를 포함시킬 방법이 없다는 것을 발견했습니다. 적어도 지금은. 따라서 입력에 Rd 파일을 가져오고 '\ examples'섹션을 추출하고 Sweave를 실행하여 html/image 출력을 얻는 bash 스크립트를 작성했습니다. 그런 다음 '결과'섹션의 html 부분이 'R CMD Rdconv -t html'명령으로 얻은 html 페이지와 병합됩니다.

많은 코드가있는 것 같지만 R 패키지를 작성하는 사람들과 내 솔루션을 공유하려고합니다.

안부, 안드레이

#!/bin/bash 

rdfile="fitSpline.Rd" 
rdname=$(echo "$rdfile" | cut -d'.' -f1) 

rfile=$rdname.R 
sed -n '/\examples{/,/}/p' $rdfile > $rfile # text between two patterns 
sed -i 's/\\examples{//' $rfile # remove pattern '\examples{' 
sed -i 's/}$//' $rfile # remove the character '}' 

rnwfile=$rdname.Rnw 
cp $rfile $rnwfile 
sed -i '1 i png("Rplot%03d.png")' $rnwfile 
sed -i '1 i <<example, echo=true, results=tex>>=' $rnwfile 
sed -i '$ a dev.off()' $rnwfile 
sed -i '$ a @' $rnwfile 

texfile=$rdname.tex 
R CMD Sweave $rnwfile 
sed -i 's/\\begin{Schunk}//' $texfile 
sed -i 's/\\begin{Sinput}//' $texfile 
sed -i 's/\\end{Schunk}//' $texfile 
sed -i 's/\\end{Sinput}//' $texfile 
sed -i '/^$/d' $texfile # remove empty lines 

reshtmlfile=$rdname.results.html 
echo "<h3>Results</h3>" > $reshtmlfile 
echo "<pre>" >> $reshtmlfile 
cat $texfile >> $reshtmlfile 
echo "</pre>" >> $reshtmlfile 

for fig in $(ls *.png) ; do 
    echo "<br><a href=\"$fig\"><img src=\"$fig\"></a>" >> $reshtmlfile 
done 

htmlfile=$rdname.html 
R CMD Rdconv -t html $rdfile > $htmlfile 

sed -i 's/<\/body>//' $htmlfile 
sed -i 's/<\/html>//' $htmlfile 
cat $reshtmlfile >> $htmlfile 
echo "</body>" >> $htmlfile 
echo "</html>" >> $htmlfile 
1

나는 당신이 R 2.14 (see here)에 나오는 새로운 솔루션이 있음을 알려주는 생각 :

RD 마크 업 그래서 새로운 \ 그림 태그가 그 수치는 HTML 또는 LaTeX로 변환 할 때 도움말 페이지에 포함될 수 있습니다. par() 및 points()에 대한 도움말 페이지의 예가 있습니다.

귀하의 helpr 라이브러리는 훌륭하게 들리지만, CRAN에 최신 버전을 설치하면 사용해 보시기 바랍니다.

+0

댓글을 주셔서 감사합니다, 탈! 맞습니다. par()에 대한 도움말 호출기에는 \ figure 태그를 사용하는 예제가 포함되어 있습니다. 그러나이 스레드의 초기 아이디어는 http://rgm2.lab.nig.ac.jp/RGM2/func.php?rd_id=mixtools:ellipse와 같이 예제 섹션에서 수치를 작성하는 도구를 요청하는 것이 었습니다. – variani