2013-07-26 4 views
2

.Rmd 파일을 동적으로 작성하고 니트하고 브라우저의 분석 결과를 표시하고 싶습니다. 이 작업을 수행하려면 knitrknit2html을 사용하고 있습니다.함수에 입력을 기반으로 Rmd 파일을 동적으로 작성하십시오.

myHTMLsummary <- function(data,x) { 

    con <- paste0(getwd(),"/myHTMLSummary.Rmd") 
    writeLines (" 

Data frame summary 
======================================================== 

Summary: 
```{r,echo=FALSE} 
summary(data[x]) 
```",con) 

    knit2html(con,quiet=TRUE) 

    if (interactive()) browseURL(paste0(getwd(),"/myHTMLSummary.html")) 
} 

myHTMLsummary(iris,"Sepal.Length") 

.Rmd 파일 더 나은 방법을 동적으로 생성하는 방법과 니트가 있습니까 또는이 사람이 사용하는 방법입니다 : 현재 나는 다음과 같은 방법을 사용하고 있습니다?

참고 : 외부 브라우저가 아닌 해당 기능의 결과를 직접 표시하려면 Rstudio에서 HTML 출력 탭을 사용하는 것이 좋습니다. 어쩌면 누군가가 도움말 탭에 결과를 보내는 방법을 알고있을 것입니다.

+0

[rapport] (http://rapport-package.info/)를 시도해보십시오. – daroczig

+0

[이 질문에] (http://stackoverflow.com/q/36674824/2706569) 관련이있는 것 같습니다. –

답변

1

어쩌면 좋은 예가 아닌 것 같습니다. writeLines()이 여기 유용하다고 생각하지 않습니다. 콘텐츠가 실제로는 으로 고정되어 문자열 인 것을 의미하므로 미리 myHTMLSummary.Rmd에 저장하지 않으시겠습니까? 그럼 당신은

myHTMLsummary <- function(data, x) { 
    knit2html("myHTMLSummary.Rmd", quiet=TRUE) 
    if (interactive()) browseURL(file.path(getwd(), "myHTMLSummary.html")) 
} 

myHTMLsummary(iris, "Sepal.Length") 

가 필요합니다 나는 당신이 정말로 의미하는 것은, 소스 문서의 즉 컨텐츠가 해결되지 않은 동적 코드 덩어리를 구성하는 것입니다 생각합니다. 이 경우 knitr-examples 저장소의 예제 075 및 021을 참조하십시오. 그들이 유일한 접근법이 아니라는 점에 유의하십시오. 모든 문자열 조작 전략을 사용하여 원본 문서를 만들 수 있습니다.

RStudio 질문에 대해서는 개발자에게 file a feature request이 있습니다. 지금은 RStudio에서 임의의 HTML 문서를 미리 볼 수 없다고 생각합니다.

관련 문제