组织8.2.10 Emacs 24.5.1 OSX 10.10.3
#+BEGIN_SRC R
1 + 2
#+END_SRC
#+RESULTS:
: 3
Run Code Online (Sandbox Code Playgroud)
但随着
#+BEGIN_SRC R
x <- rnorm(100)
summary(x)
#+END_SRC
#+RESULTS:
Run Code Online (Sandbox Code Playgroud)
"代码块没有产生输出",*Messages*缓冲区包含:
Error reading results: (beginning-of-buffer)
Code block produced no output.
Run Code Online (Sandbox Code Playgroud)
我不知道为什么我没有看到第二个例子的任何输出.它在我的机器上的R安装中运行find,
我会非常感谢任何帮助.
添加:results output到标题行,例如
#+BEGIN_SRC R :results output
x <- rnorm(100)
summary(x)
#+END_SRC
#+RESULTS:
: Min. 1st Qu. Median Mean 3rd Qu. Max.
: -2.63500 -0.42370 0.02539 0.04136 0.48370 1.92000
Run Code Online (Sandbox Code Playgroud)
Org 可以通过两种不同的方式从代码块中捕获结果:
以下选项是互斥的,并指定应如何从代码块中收集结果.
value这是默认值.结果是代码块中最后一个语句的值.此标头参数将评估置于功能模式.请注意,在某些语言(例如Python)中,使用此结果类型要求return语句包含在源代码块的主体中.例如,:results value.
output结果是在执行代码块期间收集打印到STDOUT的所有内容.此标头参数将评估置于脚本模式.例如,:results output.
由于您的第一个块返回一个常规值,因此无需指定任何内容即可:results使用默认value设置.
您的第二个块返回必须显式打印的值:
默认方法返回
c("summaryDefault", "table")具有专门
使用专门print方法返回值的R代码必须在Org中特别处理(强调我的):
如果源代码块使用基于网格的R图形,例如lattice和ggplot2包,则必须小心打印()图形对象,指定
:results output或运行a中的代码:session.这是因为来自lattice和ggplot2的图形函数返回必须使用print函数显式打印才能看到它们的对象.这在交互式运行时自动发生,例如,:session但是当在另一个函数内部调用时,它不会.方式:results value定义为操作,设备和ggplot2函数调用包含在main函数中,除非特定打印对象,否则不生成输出.
如上所述,显式调用print和运行代码:session是其他可能的解决方案.
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |