r - 如何在一张图中绘制多个泊松分布
问题描述
我想绘制多个泊松(使用不同的 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
,那将是一个更好的选择。
解决方案
另一种可能的tidyverse
解决方案:
library(tidyverse)
# Build Poisson distributions
p_dat <- map_df(1:10, ~ tibble(
l = paste(.),
x = 0:20,
y = dpois(0:20, .)
))
# Build Normal distributions
n_dat <- map_df(1:10, ~ tibble(
l = paste(.),
x = seq(0, 20, by = 0.001),
y = dnorm(seq(0, 20, by = 0.001), ., sqrt(.))
))
# Use ggplot2 to plot
ggplot(n_dat, aes(x, y, color = factor(l, levels = 1:10))) +
geom_line() +
geom_point(data = p_dat, aes(x, y, color = factor(l, levels = 1:10))) +
labs(color = "Lambda:") +
theme_minimal()
由reprex 包(v0.2.1)于 2019 年 5 月 6 日创建
推荐阅读
- speech-to-text - 使用 Microsoft Speech to text REST API 时收到 400-对 OGG 文件格式的错误请求
- jquery - 在单击输入类型时附加按钮的值
- performance - 与在同一窗口中打开链接相比,在新窗口中打开链接是否会提高性能/减少当前窗口中使用的资源
- ios - “没有这样的模块‘Alamofire’”当我使用 TodayExtension 目标到我必须在 TodayViewController 中访问的视图控制器时
- python-3.x - requests.post 挂起并继续在 python3 中重试
- reactjs - 如何将 Bootstrap 添加到 React 应用程序并在其中使用类
- php - 如何将多个旧页面重定向到新页面的子目录项目
- c++ - 来自公共范围的私有范围内的数组,但变量不在同一个类中['d'没有类型]
- python-3.x - “ImportError:无法从部分初始化的模块'pdf2image'导入名称'convert_from_path'(很可能是由于循环导入)”
- c# - 在某些网络中需要代理身份验证(407)