2011-10-02 31 views
2

在這裏參考這個問題,我設法爲我的數據繪製了ECDF。但是,我想知道是否有可能將曲線延伸到曲線圖的最左側/右側,很像基準線R如何繪製曲線?有什麼建議麼?繪圖時將直線延伸到最後?

enter image description here

我想要的線條看上去更像是這個(延伸到圖形的最左/右和如上突然不是終止):

enter image description here

回答

3

也許,在一時之間,沒有辦法自動做。 您可以通過手動添加限制到數據框來設置圖形的範圍。

# sample data frame 
df <- data.frame(x = c(rnorm(100, -3), rnorm(100), rnorm(100, 3)), g = gl(3, 100)) 
df <- ddply(df, .(g), summarize, x = x, y = ecdf(x)(x)) 

# add x min/max for each levels 
df2 <- rbind(df, ddply(df, .(g), function(x) data.frame(x = range(df$x), y = c(0, 1)))) 

ggplot(df2, aes(x, y, colour = g)) + geom_line() 

enter image description here

+0

+1真的很感謝你在這裏的時間。再一次感謝你。 – Legend

1

如果您需要確保該函數是單調的,你可以使用類似:

monotonic.y <- y; 
    n <- length(monotonic.y); 
    for (i in 1:n) { 
     monotonic.y[i] <- max(monotonic.y[1:i]); 
    } 

和情節monotonic.y而不是y

+0

+1謝謝你的提示!看起來很有趣。 – Legend

+0

我認爲你的意思是單調而不單調。 – hadley