如何为新函数绘制R中的CDF和PDF



如何在的R中绘制CDF和PDF

 f <- function(x) {((2*a*b)/(x^3))*((exp(-b/(x^2))^a))}        

范围从0到无穷大

我会使用这样的东西(因为我喜欢ggplot2):

a <-1
b <- 2
f <- function(x) {((2*a*b)/(x^3))*((exp(-b/(x^2))^a))}
x <- seq(1, 20)
pdf <- f(x)
cdf <- cumsum(pdf)
library(ggplot2)
df <- data.frame(x, pdf, cdf)
ggplot(df, aes(x, pdf))+geom_line()
ggplot(df, aes(x, cdf))+geom_line()

您应该使用默认值指定ab作为函数的参数。然后可以使用curve来绘制函数。

f <- function(x,a=0.5,b=4.5) {((2*a*b)/(x^3))*((exp(-b/(x^2))^a))}        
curve(f)

按照您现在的代码方式,ab很可能会解决全局环境中的任何问题,这可能是您以后不想要的,并且可能会导致复制结果的问题。

最新更新