几个简单的例子:
图书馆(knitr)knit_expand(text='pi的值是{{pi}}.')
##[1]“pi的值为3.14159265358979。”
knit_expand(text=“a的值是{{a}},所以a+1是{a+1}}。”,a=rnorm(1))
##[1]“a的值是-0.53420885071924,因此a+1是0.46579114928076。”
knit_expand(text='半径为{{r}}的圆的面积是{{pi*r^2}}',r=5)
##[1]“半径为5的圆的面积为78.5398163397448”
任意数量的变量:
knitexpand(text='a是{{a}},b是{{b}}。我自己的pi是{pi}}而不是{{base::pi}}',a=1,b=2,pi=3)
##[1]“a是1,b是2,我自己的pi是3,而不是3.14159265358979”
自定义分隔符<% %>
:
knit_expand(text='我不喜欢花括号,所以用%代替<>:a是<%a%>.',a=8,delim=c(“<%”,“%>”))
##[1]“我不喜欢花括号,所以用%和<>代替:a是8。”
pyexpander分隔符:
knit_expand(text='hello$(字母[24])和$(pi)!',delim=c(“$(”,“)”)
##[1]“您好,X和3.14159265358979!”
任意R代码:
knit_expand(text=“您无法看到x{{x=rnorm(1)}}的值,但它确实已创建:x={{x}}”)
##[1]“你看不到x的值,但它确实被创建了:x=-1.43591569627506”
res=knit_expand(文本=c('x|x^2','{x=1:5;粘贴(sprintf(“%2d|%3d”,x,x^2),折叠=“\n”)}}')cat(资源)
##x|x^2## 1 | 1## 2 | 4## 3 | 9## 4 | 16## 5 | 25
m4示例:https://en.wikipedia.org/wiki/M4_(计算机_语言)
res=knit_expand(text=c('{{i=0;h2=函数(x){i<<-i+1;sprintf(“<h2>%d.%s</h2>”,i,x)}}<html>',“{{h2(“第一节”)}}',“{{h2(“第二节”){}',”{{h2-(“结论”)}','</html>'))cat(资源)
##<html>##<h2>1。第一节</h2>##<h2>2。第二节</h2>##<h2>3。结论</h2>##</html>
基于模板建立回归模型;循环遍历中的所有变量地铁车厢
:
src=lapply(名称(mtcars)[-1],函数(i){knit_expand(text=c(“#{i}}上的回归”,'``{rlm-{i}{','lm(mpg~{i},data=mtcars)','``))})#编织源头res=knit_child(文本=未列出(src))res=粘贴('<pre><code>',gsub('^\\s*|\\s*$','',res),'</code></pre>',sep='')
#气缸上的回归```第页lm(mpg~cyl,数据=mtcars)``````## ##致电:##lm(公式=mpg ~ cyl,数据=mtcars)## ##系数:##(截距)气缸## 37.885 -2.876```#显示回归```第页lm(mpg~disp,数据=mtcars)``````## ##致电:##lm(公式=mpg~disp,数据=mtcars)## ##系数:##(拦截)调度## 29.59985 -0.04122```#hp回归```第页lm(mpg~hp,数据=mtcars)``````## ##电话:##lm(公式=mpg~hp,数据=mtcars)## ##系数:##(截距)hp## 30.09886 -0.06823```#drat回归```第页lm(mpg~drat,data=mtcars)``````## ##致电:##lm(公式=mpg~drat,数据=mtcars)## ##系数:##(截距)drat##-7.525 7.678```#重量回归```第页lm(mpg~wt,数据=mtcars)``````## ##致电:##lm(公式=mpg ~ wt,数据=mtcars)## ##系数:##(截距)wt## 37.285 -5.344```#基于qsec的回归```第页lm(mpg~qsec,数据=mtcars)``````## ##致电:##lm(公式=mpg~qsec,数据=mtcars)## ##系数:##(截距)qsec## -5.114 1.412```#vs回归```第页lm(mpg~vs,data=mtcars)``````## ##致电:##lm(公式=mpg~vs,数据=mtcars)## ##系数:##(截距)vs## 16.62 7.94```#上午回归```对lm(mpg~am,数据=mtcars)``````## ##致电:##lm(公式=mpg~am,数据=mtcars)## ##系数:##(截距)上午## 17.147 7.245```#齿轮上的回归```第页lm(mpg~齿轮,数据=mtcars)``````## ##致电:##lm(公式=mpg~齿轮,数据=mtcars)## ##系数:##(拦截)齿轮## 5.623 3.923```#碳水化合物回归```第页lm(mpg~carb,数据=mtcars)``````## ##致电:##lm(公式=mpg ~ carb,数据=mtcars)## ##系数:##(截距)碳水化合物## 25.872 -2.056```