gpt4 book ai didi

r - Base R 中有没有办法在 Excel 中复制 VLOOKUP TRUE 的功能?

转载 作者:行者123 更新时间:2023-12-04 09:21:49 25 4
gpt4 key购买 nike

我有一个看起来像这样的消费模式:

x <-0:10
y<-c(0, 0.05, 0.28, 0.45, 0.78, 0.86, 0.90, 0.92, 0.95, 0.98, 1.00)
X 以年为单位,而 Y 并不总是单调递增,尽管大部分时间应该是这样。
如果我需要估计在消耗 80% 之前会经过多少年,在 Excel 中,我将使用 VLOOKUP TRUE 函数,该函数将返回 78%,然后我将查找系列中的下一个值 (86%),然后进行线性插值获得 4.25 年。这很费力,但它完成了工作。
有没有一种简单的方法可以在 R 中计算这个,在我可以应用于许多情况的用户定义函数中?
谢谢!

最佳答案

x <- 0:10
y <- c(0, 0.05, 0.28, 0.45, 0.78, 0.86, 0.90, 0.92, 0.95, 0.98, 1.00)


estimate_years <- function(x, y, percent) {
idx <- max(which(y < percent))
(percent - y[idx]) / (y[idx+1] - y[idx]) * (x[idx+1] - x[idx]) + x[idx]
}

estimate_years(x, y, 0.80) ## 4.25
虽然 approx计算很酷,
这里的精确线性插值很容易。 idxy 的下一个较小位置和 x . idx+1因此是 y 的下一个相等/更大的位置和 x关于 percentage .
通过三角计算,其中 k = part / total这是 (percent - y[idx]) / (y[idx+1] - y[idx])并申请 k * total_x此处由 k * (x[idx+1] - x[idx]) 表示- 线性插值的结果
并添加过去较小的年份 x[idx] ,我们得到结果。

关于r - Base R 中有没有办法在 Excel 中复制 VLOOKUP TRUE 的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63090793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com