2012-08-29 44 views
36

編織爲HTML時,我遇到文本在knitr中的代碼輸出塊中的包裝問題。knitr:如何防止文本在輸出中打包?

例如,如果我運行下面:

matrix(rnorm(60, 5, 2), ncol = 12) 

在HTML輸出將包裹該表中,給出這樣的,其中的第12列的其餘部分下方移動的輸出:

##  [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] 
## [1,] 3.407 0.8035 2.981 5.269 6.989 5.107 7.143 3.127 3.624 7.220 4.805 
## [2,] 3.907 5.5971 5.488 4.995 6.496 5.980 1.576 3.009 6.605 3.440 2.754 
## [3,] 1.945 3.7668 4.860 2.945 3.663 5.945 7.168 2.012 5.873 8.190 7.441 
## [4,] 4.893 6.2054 4.403 3.967 2.880 7.196 1.813 3.283 5.216 5.699 2.829 
## [5,] 5.706 0.9084 5.802 1.404 3.122 1.866 6.613 3.299 4.990 3.645 3.766 
##  [,12] 
## [1,] 0.3951 
## [2,] 4.0866 
## [3,] 5.9293 
## [4,] 6.4729 
## [5,] 2.7172 

有沒有一種方法來調整輸出塊的寬度,以便我可以有一個表,其中的行都出現在一行上,就像這樣?

##  [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] 
## [1,] 3.407 0.8035 2.981 5.269 6.989 5.107 7.143 3.127 3.624 7.220 4.805 0.3951 
## [2,] 3.907 5.5971 5.488 4.995 6.496 5.980 1.576 3.009 6.605 3.440 2.754 4.0866 
## [3,] 1.945 3.7668 4.860 2.945 3.663 5.945 7.168 2.012 5.873 8.190 7.441 5.9293 
## [4,] 4.893 6.2054 4.403 3.967 2.880 7.196 1.813 3.283 5.216 5.699 2.829 6.4729 
## [5,] 5.706 0.9084 5.802 1.404 3.122 1.866 6.613 3.299 4.990 3.645 3.766 2.7172 

謝謝!

+5

這不是一個真正的問題,它不是基於'Knitr'的。如果你在控制檯運行'options()',你可能會看到最後一項是'$ width',而在我的系統中,它被設置爲「'87」,這將導致這種類型的包裝。 – A5C1D2H2I1M1N2O1R2T1

回答

37

向文檔中添加諸如options(width=120)之類的內容將允許您覆蓋默認的換行寬度。

雖然要注意太寬;當轉換爲PDF或其他格式時,默認是非常正確的!作爲示例,我使用RStudio中的Knitr,然後將我的文檔輸入爲R markdown文檔。我的文檔「options」在開始時可能是這樣的:

```{r set-options, echo=FALSE, cache=FALSE} 
options(width=80) 
opts_chunk$set(comment = "", warning = FALSE, message = FALSE, echo = TRUE, tidy = TRUE, size="small") 
read_chunk("some/script/I/want/to/load.R") 
``` 
+0

謝謝你的快速回答。我想調整輸出的寬度以方便閱讀報告。輸出上方和下方的文本塊比上面的包裝表格寬得多,即使在打印寬度方面也是如此。 – susjoh

+2

@susjoh是預期的; 'options('width')'不適用於文本輸出寬度_precisely_,因此有時需要臨時調整某個塊的'width'選項。 –

+7

當我設置'options(width = X)'時,它似乎有在RStudio中編譯報告時無效。我使用RStudio 0.99.467和knitr 1.11。之前在'options'中設置'width'按預期工作。有什麼改變(或者它是用戶錯誤)?我的輸出固定在120個字符左右。 – geneorama

相關問題