gpt4 book ai didi

R : stat_smooth groups (x axis)

转载 作者:行者123 更新时间:2023-12-04 06:59:16 24 4
gpt4 key购买 nike

我有一个Database,并想使用stat_smooth显示一个数字。

我可以显示avg_time vs Scored_Probabilities数字,如下所示:

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

但是,当将平均时间更改为时间或年龄时,会发生错误:
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)?

我该如何解决?

最佳答案

错误消息说要设置group=1,这样做会产生另一个错误

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.

现在,唯一的 x值的数量还不够。

所以有两种解决方案:i)使用另一个函数,例如 mean,ii)使用抖动稍微移动年龄。
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

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

请注意 as.numeric的使用,因为 Age是一个因素。

关于R : stat_smooth groups (x axis),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30208670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com