3

ecdf()次のコードを使用して、関数を使用してCDFプロットをプロットしようとしています:

> x<-ecdf(data$V6)

> summary(x)
 Empirical CDF:   2402 unique values with summary
 Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
 3392     71870    120100    386100    219000 158600000 

plot(x, log='x')
    Error in plot.window(...) : Logarithmic axis must have positive limits

私のデータセットは指数関数的に増加するので、x 軸に対数目盛りが必要です。使わない時はlog="x"動くのですが、プロットが良くありません。x 軸を対数にする必要があります。何か案は?

4

1 に答える 1

11

問題を再現するコードを次に示します。

x <- seq(2e3, 1e9, length.out=2000)
ex <- ecdf(x)
plot(ex, log="x")
Error in plot.window(...) : Logarithmic axis must have positive limits

ここで、プロットの制限をc(0, 1e9)

plot(ex, xlim=c(0, 1e9), log="x")
Warning message:
In plot.window(...) : nonfinite axis limits [GScale(-inf,9,1, .); log=1]
Warning messages:
1: nonfinite axis limits [GScale(-inf,9,1, .); log=1] 
2: nonfinite axis limits [GScale(-inf,9,1, .); log=1] 

解決策: xlim をc(1, 1e9)に設定します。つまり、下限を正の数に設定します。

plot(ex, xlim=c(1, 1e9), log="x")

ここに画像の説明を入力

于 2012-07-09T16:58:36.417 に答える