我想绘制多个泊松(具有不同的lambda(1:10))
我发现了以下绘制图的功能
plot_pois = function(lambda = 5)
{
plot(0:20, dpois( x=0:20, lambda=lambda ), xlim=c(-2,20))
normden <- function(x){dnorm(x, mean= lambda, sd=sqrt(lambda))}
curve(normden, from=-4, to=20, add=TRUE, col=lambda)
}
plot.new()
plot_pois(2)
但是我不能在上面绘制另一个泊松。我试图将plot
更改为points
或lines
,但这完全改变了情节。我还想为不同的lambda值添加一个包含不同颜色的图例。
如果我可以使用ggplot
进行绘制,那将是一个更好的选择。
答案 0 :(得分:3)
在ggplot2中,您可以使用lapply
遍历不同的lambda:
library(ggplot2)
lambdas <- c(5, 2)
ggplot(data = data.frame(x = 0:20)) +
lapply(lambdas, function(l) geom_point(aes(x = x, y = dpois(x, lambda = l), col = factor(l)))) +
lapply(lambdas, function(l) stat_function(fun = dnorm, args = list(mean = l, sd = sqrt(l)),
aes(x = x, col = factor(l))))
然后可以像往常一样在ggplot2中自定义轴的标题和限制,图例标题等。
答案 1 :(得分:3)
另一种可能的-------------------------------
| ID | HAS1 | HAS2 |
-------------------------------
| 12 | true | false |
_______________________________
| 74 | true | true |
-------------------------------
解决方案:
tidyverse
由reprex package(v0.2.1)于2019-05-06创建