目标:对于Rmarkdown / Knitr中的一行代码,head()
并tail()
使用一行代码,我想返回相邻的结果或至少紧凑的结果。
我意识到我可以c()
在同一代码行上使用某些功能,并在同一结果行上打印,例如c(mean(vector), sd(vector))
will return ## [1] 20.663 6.606
。
但是,如果我尝试c(head(data), tail(data))
获取列表,而不是矩阵/ df,并且如果使用,head(data); tail(data)
则结果将在R控制台中连续显示(?)顶部/底部,但仅tail(data)
在Rmarkdown / Knitr中返回结果。
复制步骤:
使用以下R块创建一个Rmd文件:
```{r Load Data, cache=TRUE,echo=TRUE}
require("datasets") ## ensure User has the R datasets package installed
data("ToothGrowth") ## load the ToothGrowth dataset
head(ToothGrowth, n = 2); tail(ToothGrowth, n = 2) ## attempt compact results
```
Ctrl + Shift + k编织Rmd,或者选择“编织HTML”动作。
相关结果:
## len supp dose
## 59 29.4 OJ 2
## 60 23.0 OJ 2
仅供参考:
sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] digest_0.6.4 evaluate_0.5.3 formatR_0.10 htmltools_0.2.4 knitr_1.6
[6] rmarkdown_0.2.46 stringr_0.6.2 tools_3.0.2 yaml_2.1.11
knitr似乎有一个错误(从评估包中继承),并且不会在用分号分隔的同一行上的表达式中产生两个打印结果。
关闭可能会达到您想要的水平
> rbind(head(ToothGrowth, 2), tail(ToothGrowth, 2))
len supp dose
1 4.2 VC 0.5
2 11.5 VC 0.5
59 29.4 OJ 2.0
60 23.0 OJ 2.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句