2017-05-26 34 views
1

我想使用reporteRs库在一些MS Word文档中包含一个图表。在R的一个匿名函数中写入几条语句

这里是我包括我的情节:

doc = addPlot(doc, 
    fun = function() plot(
    km.as.one, 
    mark.time=TRUE, 
    conf.int=FALSE, 
    cex=1, 
    col="blue", 
    xlab = "Délai en années", ylab = "Pourcentage", 
    lty=1:3, 
), 
    vector.graphic = TRUE, width = 5, height = 4, 
    par.properties = parProperties(text.align = "center") 
) 

我的问题是,我想补充一些误差棒,自定义轴,也许添加标题,通过添加类似以下内容:

axis(1, at = seq(0, 36, by = 6)) 
with (data=summary.km.as.one, expr=errbar(time, surv, upper, lower, add=TRUE, pch=0.5, cap=0.02)) 

我必须在plot声明之外写这个,但我找不到如何在匿名函数中编写它。

甚至可以在匿名函数中编写几个语句吗?

如果是,什么是正确的方法,如果没有,是否有任何解决方法?

+1

你只需要使用'{}'来包含所有的语句。所以'fun = function(){plot(...);轴(...);与(...)}'。 – MrFlick

回答

1

只需加括号{ },你可以添加多行:

doc = addPlot(doc, 
    fun = function() { 
    # line 1 
    # line 2 
    # etc... 
    }, 
    vector.graphic = TRUE, width = 5, height = 4, 
    par.properties = parProperties(text.align = "center") 
) 
+0

我不知道如何在所有这些教程中看不到这一点......谢谢先生! –

+0

@DanChaltiel没问题。作为一种风格建议,总是在“if”,“for”和函数中加入大括号是个好主意,即使它们只是一行。这样就可以清楚地看到这些块中的线条,还可以让您在未来轻松添加线条。 – Paolo