我是r的新人,我会问你们一些帮助。我有x(值)和prob(它的概率)如下:
我的目标是根据这些值构建估算分布图。到目前为止,我使用qplot(x,prob,geom=c("point", "smooth"),span=0.55)
制作它并在此处显示
https://i.stack.imgur.com/aVgNk.png
我的问题是:
我一直在寻找,但没有运气。
谢谢大家
答案 0 :(得分:1)
如果您希望为prob
的给定值预测x
的值,则这是一种方法。请注意,我在此处使用了loess
预测功能(因为我认为它是ggplot
smooth
geom的默认设置,您可以使用x <- c(0.00, 1.08, 2.08, 3.08, 4.08, 4.64, 4.68)
prob <- c(0.000, 0.600, 0.370, 0.010, 0.006, 0.006, 0.006)
{/ 1}}已使用过),可能适合您,也可能不适合您。
df <- data.frame( datapoints = seq.int( 0, max(x), 0.1 ) )
首先制作一个包含一列的数据框,我会将大量数据点放入该列,只是为了做出一堆预测。
predict
然后创建一个预测列。我正在使用loess
函数,将loess
平滑函数传递给它。 predict
函数会为您提供输入数据,并要求loess
使用df$datapoints
中的函数来预测df$predicted <- predict( loess( prob ~ x, span = 0.55 ), df$datapoints )
> head( df )
datapoints predicted
1 0.0 0.01971800
2 0.1 0.09229939
3 0.2 0.15914675
4 0.3 0.22037484
5 0.4 0.27609841
6 0.5 0.32643223
这是输出的样子。
ggplot2
在情节方面,qplot
是一个很好的方式,所以我没有理由在这里回避ggplot2
。如果您希望从ggplot2
获得更多灵活性,可以更明确地编写函数代码(正如@Jan Sila在另一个答案中提到的那样)。这是plot <- ggplot( data = df,
mapping = aes( x = datapoints,
y = predicted ) ) +
geom_point() +
geom_smooth( span = 0.55 )
plot
更常见(也更灵活)语法的一种方式:
git clone git@github.com:bitnine-oss/agens-graph.git
答案 1 :(得分:0)
一旦指定了概率分布,就可以得到观察结果。Have a look here。这将帮助您并引导您完成MASS
包。
..更好的图表?我认为ggplot是最好的(也很确定grapgh来自ggplot2)。如果你想要那样,那么你需要一个蓝色的geom_line
,并在其上添加geom_point
并使用相同的映射:)尽量熟悉教程,或者我们可以帮助你解决这个问题。 / p>