0

次のようにグラフをプロットしようとしています。

library(diagram)
Numgenerations <- 6
DiffMat <- matrix(data = 0, nrow = Numgenerations, ncol = Numgenerations)
AA <- DiffMat
AA[1,4] <- "f[3"
name <- c(expression(Age[0]), expression(Age[1]), expression(Age[2]),
expression(Age[3]), expression(Age[4]), expression(Age[5]))
plotmat(A = AA, pos = 6, curve = 0.7, name = name, lwd = 2,
  arr.len = 0.6, arr.width = 0.25, my = -0.2,
  box.size = 0.05, arr.type = "triangle", dtext = 0.95,
  main = "Age-structured population model 1")

次に、R は "f[3" を式として扱い、戻ります。

Error in parse(text = txt) : <text>:2:0: unexpected end of input
1: f[3
  ^

パッケージのあるビネットを調べます。セクション 2.3 には、次のように書かれています。

次の例では、数式を使用して矢印にラベルを付けています 1 。これは、関数に行列ではなく data.frame を渡すことによって行われますplotmat

ただし、plotmat前の例で渡すのは、data.frame ではなくマトリックスです。ラベルをプロットする前にparseinを回避する方法が見つかりません。plotmat

ダイアグラム パッケージのバージョンは 1.6 です。

誰でも私を助けることができますか?ありがとう。

4

1 に答える 1

3

次のように f[3 を二重引用符で囲む必要があります。

library(diagram)
Numgenerations <- 6
DiffMat <- matrix(data = 0, nrow = Numgenerations, ncol = Numgenerations)
AA <- as.matrix(DiffMat)
AA[1,4] <- "'f[3'" #double then single quotes
name <- c(expression(Age[0]), expression(Age[1]), expression(Age[2]),
          expression(Age[3]), expression(Age[4]), expression(Age[5]))

plotmat(A = AA, pos = 6, curve = 0.7, name = name, lwd = 2,
        arr.len = 0.6, arr.width = 0.25, my = -0.2,
        box.size = 0.05, arr.type = "triangle", dtext = 0.95,
        main = "Age-structured population model 1")

ここに画像の説明を入力

于 2013-03-11T10:17:50.057 に答える