2011-07-14 19 views
4

我試圖表明,有一個奇怪的「凸點」的一些數據,我分析的(它與市場份額做我的代碼是在這裏: - 。獲取向量出GGPLOT2

qplot(Share, Rate, data = Dataset3, geom=c("point", "smooth")) 

(我很欣賞這不是非常有用的代碼沒有數據集)

是否有無論如何,我可以得到數字向量用於生成R平滑線?我只需要該圖層來嘗試適合模型平滑的數據。

感謝任何幫助。

+0

做得好提供代碼。如果你需要一些玩具數據來使你的例子工作,記住R有很多數據集內建,每個人都可以訪問。 –

+0

歡迎來到SO。好的第一個問題。正如@RichieCotton所說,你總是可以使用內置數據集來說明問題。查看我的答案,瞭解使用內置數據集「cars」的示例。詳情請參閱「汽車」。 – Andrie

回答

7

是的,有。 ggplot使用函數loess作爲geom_smooth中的默認平滑器。這意味着您可以直接使用loess來估計您的平滑參數。

下面是一個例子,改編自?loess:用於估計值

qplot(speed, dist, data=cars, geom="smooth") 

enter image description here

使用loess估計平滑的數據,和predict ::

cars.lo <- loess(dist ~ speed, cars) 
pc <- predict(cars.lo, data.frame(speed = seq(4, 25, 1)), se = TRUE) 

估計數現在在pc$fit和中的標準錯誤。下面的代碼位extraxts擬合值到一個data.frame,然後使用ggplot繪製它:

pc_df <- data.frame(
    x=4:25, 
    fit=pc$fit) 

ggplot(pc_df, aes(x=x, y=fit)) + geom_line() 

enter image description here

+0

謝謝。多麼明確,快速的答案! –