您可以編寫自己的函數,從R文件中提取示例代碼。這與knit
包中的purl
或Stangle
類似。這裏有一個你可以做的例子。該函數效率不高,但我只是爲了展示這個想法而寫它。這應該是一個很好的起點。它還假定您已經獲得了您的R文件,或者至少R會話中已存在已記錄的功能。
purl.examples <- function(fileName){
ll <- readLines(fileName)
ex.lines <- grep('@examples',ll) ## get the example's lines
## for each example loop till
## there is no comment (inefficient)
examples <- lapply(ex.lines , function(x){
i <- x+1
code <- list()
while(grepl("#'",ll[i])){
l <- c(code,gsub("#'","",ll[i],fixed=TRUE))
i <- i+1
}
code
})
}
然後,你可以這樣調用它,例如:
lapply(purl.examples('code.R'),
function(ex) eval(parse(text=ex))) ## safer to use evaluate package here
我見過人們用'if(TRUE/FALSE){}'評論代碼。你可以用一個字母切換。 –