R中分段函数的PMF和CDF

PMF and CDF from a piecewise function in R

给出

 p<-function(x){if ( x==-4) {
    0.1
  } else if (x==-1 ) {
   0.2
  } else if ( x==1) {
    0.6
  } else if (x==2 ) {
    0.1
  } else {
   0
  }

我将如何绘制 PMF 和 CDF。没有指定分发所以我不能使用内置命令。绘制这些的最佳方法是什么

简单易行的解决方案:

### support
x = seq(-4,2,1)
### PDF
plot(x,sapply(x,p),ylab="PDF")
### CDF
plot(x,cumsum(sapply(x,p)),ylab="CDF")

对 PMF 试试这个

df <- data.frame(x = c(-4, -1, 1, 2), p = c(.1, .2, .6, .1))
plot(df, type = "l")
points(df)


对于CDF,你可以试试类似的

plot(df_cdf <- transform(df, p = cumsum(p)), type = "l")
points(df_cdf)