我正在尝试使用以下代码使用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轴是对数的。有什么想法吗?
答案 0 :(得分:9)
以下是一些可以重现问题的代码:
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")