1

以下のコードを使用してグラフをプロットしようとしています。

Require(Hmisc)
Ecdf(ceac_primary,xlab="axis label",xlim=c(5000,50000),q=c(0.9,0.1),
ylab="Probability of Success",main="CEAC")

ここで、ceac_primaryは、90k個の観測値の1つの変数を持つデータフレームです。

'xlab = "axis label"'を含めると、次のエラーが発生し続けます。

Error in Ecdf.default(v, group = group, weights = weights, normwt = normwt,  : 
formal argument "xlab" matched by multiple actual arguments

ただし、コードのx軸ラベル部分を除外すると、グラフがうまくプロットされます。

これは既知の問題ですか?もしそうなら、x軸ラベルをプロットする別の方法はありますか?

ありがとう

4

1 に答える 1

1

Ecdf.data.frame(data.frameをに渡すときに呼び出されるメソッド)のソースコードを調べてみると、その関数は後で引数Ecdfに渡されるオブジェクトを作成しているように見えます。xlabしたがって、data.frameを使用してxlab実行する場合、ユーザー指定の引数としては期待されません。内に渡されるEcdfオブジェクトを作成するコードは次のとおりです。labxlabEcdf.data.frame

lab <- if (vnames == "names") 
        nam[j]
    else label(v, units = TRUE, plot = TRUE, default = nam[j])

次に、Ecdfで呼び出されxlab = labますが、の楕円内の引数Ecdf.data.frameもに渡されEcdfます。xlabはの正式な引数ではないためEcdf.data.frame、エラーが発生するのはこのためです。

それを回避するには、次のいずれかを試してください。

data.frameを適切なクラスのベクトル(数値、私は推測します)に変換してから、

Ecdf(ceac_primary_Vec, xlab = "axis label")

または、パッケージlabel内の関数を使用して、data.frame内の1つの列のラベルを作成できます。Hmiscその列が呼び出された場合myCol、実行できます

label(ceac_primary$myCol) <- "axis label"
Ecdf(ceac_primary)

これで、軸ラベルが正しく印刷されるはずです。

于 2012-09-20T19:05:40.003 に答える