Сокращение длинного R-выхода в knitr
Я помню, что я видел крюк в knitr
сокращать R
выход. Но забыл, как выполнить эту задачу. Я был бы очень признателен, если бы кто-нибудь показал мне, как показать первые несколько строк и последние несколько строк R
выход связан с ellipses (...)
, Спасибо
\documentclass{article}
\begin{document}
<< Test >>=
1:1000
@
\end{document}
Я нашел эту ссылку, но, похоже, не работают для меня.
отредактированный
Решение @kohske превосходно и работает, если есть только один выход. Нужно больше обобщений для такого чанка.
<< label=Test, results = "hold" >>=
1:1000
args(lm)
@
1 ответ
Решение
Это то, что вы хотите?
\documentclass{article}
\begin{document}
<<include=FALSE>>=
library(knitr)
oh <- knit_hooks$get("output")
knit_hooks$set(output = function(x, options) {
ret <- strsplit(x, "\n")[[1]]
ret <- paste0(ret[1], "\n...\n", ret[length(ret)])
oh(ret, options)
})
@
<< Test>>=
1:1000
@
\end{document}
ОБНОВИТЬ
knit_hooks$set(output = function(x, options) {
ret <- strsplit(x, "\n")[[1]]
ret <- if (length(ret) > 2)
paste0(ret[1], "\n...\n", ret[length(ret)])
else
ret
oh(ret, options)
})