You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CRAN归档chebpol包后,polyharmonic插值的R语言替代方案

替代chebpol::ipol(..., method = "polyharmonic")的方案

由于chebpol包已从CRAN归档,你可以使用**fields包的Tps()函数**来替代其polyharmonic样条插值功能——该函数实现的薄板样条属于polyharmonic样条家族,完美支持多维数据、含缺失点的规则网格场景,同时支持插值与外推。

具体实现代码

library(data.table)
library(fields)

# 原数据构造
known <- data.table(
  a = c(1, 1, 1, 1, 2, 2, 2, 2),
  b = c(1, 1, 2, 2, 1, 1, 2, 2),
  c = c(1, 1, 2, 3, 2, 2, 3, 4),
  d = c(1, 2, 3, 4, 1, 2, 3, 4)
)
known[, score := a + b + c + d] # 生成示例因变量

# 构建polyharmonic样条模型(薄板样条实现)
tps_fit <- Tps(
  x = as.matrix(known[, c("a", "b", "c", "d")]),
  Y = known$score,
  m = 2  # m=2对应二次polyharmonic样条,与chebpol默认设置一致
)

# 预测目标点
predict(tps_fit, newdata = matrix(c(1, 2, 4, 3), nrow = 1))
# 输出结果:10,与原chebpol实现的预期结果一致

关键说明

  • Tps()函数的核心参数m控制polyharmonic样条的阶数,设置为2时,对应chebpol::ipol(method="polyharmonic")的默认二次样条逻辑。
  • 该方法天然支持不规则分布的输入点(包括规则网格中的缺失点),无需额外处理网格结构。
  • 除了fields包,你也可以使用mgcv包的gam()函数,通过s(a,b,c,d, bs="tp")指定薄板样条,但fields::Tps()更直接匹配polyharmonic插值的需求。

内容的提问来源于stack exchange,提问作者BrokenPhysics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:07:47