2015-05-13 25 views
6

Database var ve stat_smooth kullanarak bir şekil göstermek istiyorum. zaman veya Yaş Avg.time değiştirirken, bir hata oluşursaR: stat_smooth grupları (x ekseni)

c <- ggplot(dataset1, aes(x=Avg.time, y=Scored.Probabilities)) 
c + stat_smooth() 

enter image description here

Ama:

c <- ggplot(dataset1, aes(x=Age, y=Scored.Probabilities)) 
c + stat_smooth() 
error: geom_smooth: Only one unique x value each group. Maybe you want aes(group = 1)? 

Şöyle Scored_Probabilities şekil vs avg_time gösterebilir

Nasıl düzeltebilirim?

+0

'stat_smooth' sadece sürekli değişkenler ile çalışır. Yaş değişkeniniz bir karakter değişkendir. Sadece 'time' değişkeninin zaman olarak kaydedilmediğini, ancak bunun yerine karakterin olduğunu varsayabilirim. İlk önce değişkenlerinizi sayısal olarak anlamlı bir şekilde dönüştürmeniz gerekir. – shadow

cevap

6

hata mesajı bu başka hatayı

ggplot(dataset1, aes(x=Age, y=Scored.Probabilities, group=1))+stat_smooth() 
geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method. 
Error in smooth.construct.cr.smooth.spec(object, data, knots) : 
    x has insufficient unique values to support 10 knots: reduce k. 

verir Şimdi benzersiz x değerlerin sayısı yeterli değildir yapıyor group=1 ayarlamak için söylüyor.

İki çözüm: i) mean gibi başka bir işlev kullanarak, ii) hafifçe Taşımak için jitter kullanarak.

ggplot(dataset1, aes(x=Age, y=Scored.Probabilities, group=1))+ 
geom_point()+ 
stat_summary(fun.y=mean, colour="red", geom="line", size = 3) # draw a mean line in the data 

enter image description here

Ya

ggplot(dataset1, aes(x=jitter(as.numeric(Age)), y=Scored.Probabilities, group=1))+ 
geom_point()+stat_smooth() 

Not as.numericAge çünkü kullanılması faktördür.

enter image description here

+0

'un.numeric (as.character (variable))', 'as.numeric (variable)' değişkenini kullanması beklenen bir faktörde, –

+0

beklenen değeri geri getiremeyebilir, muhtemelen cevabı düzenlemekte özgürsünüz. –