0

組織モード ファイルのセッションで R コード ブロックを実行していますが、通常は Cc Cc で実行できます。

ファイルの先頭に配置した関連する PROPERTY 行は

#+PROPERTY: session *R*
#+PROPERTY: cache yes
#+PROPERTY: exports both
#+PROPERTY: tangle yes

Cc Cc を押しても何も起こらないことがあります。AFAICT、それは一見ランダムなイベントです。同じコード ブロックが 1 回は機能し、別の場合は失敗する可能性があります。

そのようなブロックが失敗すると、結果がミニバッファーにエコーされるのが見えますが、R セッションでは結果 (多くの場合期待していた新しいデータ フレームなど) が表示されません。

C-' を押してコード ブロックを編集し、各行で Cj (または各領域で Cr) を押すと、コードが実行され、結果が組織ファイルに適切にエコーされ、R セッションに表示されます。

サンプル コード ブロックの開始行を次に示します。

#+begin_src R :results silent :exports code 

#+begin_src R :results value :colnames yes :exports both

rm(list=ls()) を実行し、コード ブロックを実行し、セッションで ls() を実行して、結果がそこにあるかどうかを確認することで、両方をテストしました。

最初のブロックは単純です:

#+begin_src R :results silent :exports code 
require(stringr)
require(ggplot2)
require(scales)
require(arm)
require(YaleToolkit)
require(stinepack)
require(mixtools)
require(lubridate)
source("utilities.R")
pf <- function (x,y) {
z <- sqrt(x * x + y * y)
return(x/z)
}
#+end_src

2 つのテストでは、R セッションで pf を探すことで検出されたように、1 回は機能し、1 回は失敗しました。

重要な場合は、有用なほど頻繁に失敗する ECM の作成を試みることができますが、これは、誰かが見て解決した一般的なセットアップまたはバージョンの問題であると思われます。Org-mode コード ブロック評価に関連しているようですが、そこでの解決策は :export results にあったようです。ほとんどの場合、私は :exports の両方を使用しますが、これはそのケースをカバーしているように見えますが、少なくともいくつかのケースでは、セッションで環境を設定し、org ファイルにエクスポートしないことに注意しています。組織モードを介してデータを渡すことはありません。そのためだけにセッションを使用しています。

ところで、XP Pro 64 の GNU Emacs 23.3.1 で組織モード 7.8.03 を実行しています。

4

0 に答える 0