我想计算曲线下的面积来进行积分,而不需要定义函数,比如integrate().

我的数据如下所示:

Date          Strike     Volatility
2003-01-01    20         0.2
2003-01-01    30         0.3
2003-01-01    40         0.4
etc.

我画了plot(strike, volatility)张图来看看那笑容.有没有办法整合这条绘制的"曲线"?

推荐答案

通过查看大量梯形图,可以非常容易地近似计算AUC,每个时间范围在x_ix_{i+1}y{i+1}y_i之间.使用zoo软件包的rollmean,您可以执行以下操作:

library(zoo)

x <- 1:10
y <- 3*x+25
id <- order(x)

AUC <- sum(diff(x[id])*rollmean(y[id],2))

确保你对x值进行排序,否则你的结果就没有意义了.如果沿y轴的某个位置有负值,则必须计算出如何准确定义曲线下的面积,并进行相应调整(例如使用abs())

关于你的后续行动:如果你没有一个正式的功能,你会如何规划它?所以如果你只有值,你唯一能近似的就是一个定积分.即使你有R中的函数,你也只能用integrate()来计算定积分.只有在可以定义形式函数的情况下,才能绘制形式函数.

R相关问答推荐

自动变更列表

如何改变x轴比例的列在面

将文件保存到新文件夹时,切换r设置以不必创建目录

将一个字符串向量调整为与其他字符串向量完全相同的大小

从多个线性回归模型中提取系数

如何在PackageStatus()中列出&q;不可用的包&q;?

在多页PDF中以特定布局排列的绘图列表不起作用

将箭头绘制在图形外部,而不是图形内部

层次树图的数据树

判断函数未加载R中的库

是否有一个R函数可以输出在输入的字符向量中找到的相应正则表达式模式?

当由base::限定时,`[.factor`引发NextMethod错误

如何修改GT表中组名行的 colored颜色 ?

是什么打破了此Quarto仪表板中的工具提示?

Package emMeans:如果emmip模型中包含的变量较少,emMeans模型中的其他变量设置为什么?

带查找数据的FCT_REORDER.帧

R中的交叉表

臭虫?GradeThis::grade_this_code()在`-code-check`块中失败

以列名的字符向量作为参数按行应用自定义函数

对数据帧中的大量组合执行Kruskal-Wallis测试