2015-12-02 115 views
2

有序列表我試圖嵌入的R data.frame列在我的knitr PDF輸出的有序列表。到目前爲止,我最好的atempt是:[R knitr從數據幀

```{r df, echo=FALSE, results='asis'} 
    df <- read.csv2(file.path(filePath,'data.csv')) 
    for (i in nrow(df)){ 
    print(paste(i, '. ', df[i,3])) 
    } 
``` 

導致這樣的輸出:

[1] 「8 . At vero eos et accusam et justo duo dolores et ea rebum.」  

我想這是一個八點有序列表,與普通的文本輸出結合使用。有人知道如何做到這一點?

+0

你可以顯示輸入看起來像什麼和輸出應該是什麼樣子? –

回答

0

更換for循環當你想打印降價列表中,你可以使用相關的輔助功能從pander包,它提供了許多方便的方式R->降價轉換。快速演示:

> pandoc.list(head(rownames(mtcars)), style = 'ordered') 

1. Mazda RX4 
2. Mazda RX4 Wag 
3. Datsun 710 
4. Hornet 4 Drive 
5. Hornet Sportabout 
6. Valiant 

<!-- end of list --> 
+0

謝謝,那正是我所需要的! –

0

使用cat()代替print(),例如

cat(paste(i, '. ', df[i,3]), '\n') 

其實你並不需要增加i,因爲Pandoc不在列表關心實際的數字(這可能是一個令人感到有點驚訝)。您可以只爲所有物品使用1,例如

1. foo 
1. bar 

,所以你可以用

cat(paste('1.', df[, 3]), sep = '\n')