2017-05-26 67 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