我是使用Markdown的新手,并且在SO上寻找类似的问题而没有成功。我使用Rmarkdown(使用Rstudio和knitr)编写一个插图来描述数据文件中的读取,该数据文件作为包的一部分导入。我可以使用
正确访问数据文件> system.file("extdata", "Marlin-tag38606.txt", package = "xtractomatic")
我想在插图中显示此文件的前几行,因此我的代码为
```{r, results=as.is}
datafile <- system.file("extdata", "Marlin-tag38606.txt", package = "xtractomatic")
system(paste("head -n5 ",datafile))
```
问题是此调用的结果输出到Rmarkdown控制台而不是输出到插图html文件。
RStudio的Rmarkdown窗口中的输出是(但格式更好):
|................... | 29%
label: unnamed-chunk-8
date lon lat lowLon higLon lowLat higLat
4/23/2003 203.899 19.664 203.899 203.899 19.664 19.664
4/24/2003 204.151 19.821 203.912597 204.389403 18.78051934 20.86148066
4/30/2003 203.919 20.351 203.6793669 204.1586331 18.79728188 21.90471812
5/1/2003 204.229 20.305 203.9943343 204.4636657 18.90440013 21.70559987
|.................... | 31%
这是我想要输出到小插图文本的内容,但它并不存在。在生成的插图中,我只有两行R代码,但不是系统调用的输出。 任何意见,将不胜感激。谢谢。
Cara Wilson
答案 0 :(得分:5)
将intern = TRUE
用于system()
,然后cat()
输出:
cat(system(paste("head -n5", datafile), intern = TRUE), sep = '\n')
答案 1 :(得分:0)
在Rmarkdown文档中使用bash块为我完成了这项工作。
例如,包testdat
在其extdata目录中包含.csv文件:
```{的bash}
head -n5~ / R / x86_64-pc-linux-gnu-library / 3.3 / testdat / extdata / 2012.csv
```
将在您的html文件中提供:
## 14 ,,, 2012,Censo,1775351 ,,
## 14 ,,, 2012,Votantes,1135568,64.0,
## 14 ,,, 2012,Nulos,9168,0.8,
## 14 ,,, 2012,Válidos,1126400,99.2,
## 14 ,,, 2012,Blancos,14640,1.3,
我不确定这个选项是否存在于2014年,当你提出问题时。