如何在R中为
绘制CDF和PDF f <- function(x) {((2*a*b)/(x^3))*((exp(-b/(x^2))^a))}
范围为0到无穷大
答案 0 :(得分:1)
我会使用这样的东西(因为我喜欢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()
答案 1 :(得分:0)
您应该使用默认值指定a
和b
作为函数的参数。然后curve
可用于绘制函数。
f <- function(x,a=0.5,b=4.5) {((2*a*b)/(x^3))*((exp(-b/(x^2))^a))}
curve(f)
现在代码的方式,a
和b
最有可能解决全局环境中的任何问题,以后您可能不需要这些内容,并且可能会导致重现结果的问题。