如何计算R中频率多边形下的面积?

问题描述

我正在努力寻找一种计算频率多边形下面积的方法,如下所示:

x1 <- 1:5                         
y1 <- c(0.2,0.14,0.7,0.11,0.1) 
plot(x1,y1,type = "l",lwd = 3)   
polygon(c(1,x1,5),c(0,0),col = "red") 
points(x1,cex = 2,pch = 15)
segments(x1,y1)

所以基本上是红色区域从1到5的区域.. 任何建议将不胜感激! 非常感谢

解决方法

如果多边形的底边总是 0 并且左右边是垂直的,那么它只不过是对一组梯形的面积求和:

h = x1[2:5]-x1[1:4] # heights
b1 = y1[1:4] #first bases
b2 = y1[2:5] #second bases
ta = h*(b1+b2)/2 # trapezoids
pa = sum # total area

当然,您可以概括索引以使其适用于不同长度的数组。