gpt4 book ai didi

r - 如何在一个图中绘制多个泊松分布

转载 作者:行者123 更新时间:2023-12-05 08:40:21 25 4
gpt4 key购买 nike

我想绘制多个泊松函数(使用不同的 lambdas (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)

enter image description here

但我无法在其上绘制另一个泊松分布。我试图将 plot 更改为 pointslines 但它完全改变了情节。我还想为不同的 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 package 创建于 2019-05-06 (v0.2.1)

关于r - 如何在一个图中绘制多个泊松分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56005938/

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