寻求 2D 版本的 approxfun()

2023-12-22

我正在 R 中寻找 2D 版本stats::approxfun()可以生成插值function来自 (x,y,z) 数据集的 f(x,y)。我在包裹中没有找到akima或其他地方。


我会尝试重新适应interp.surfaceR 包中的函数fields https://cran.r-project.org/web/packages/fields/index.html。重新改编自的示例?interp.surface:

加载包

library(fields)
#> Warning: package 'fields' was built under R version 4.1.2
#> Loading required package: spam
#> Warning: package 'spam' was built under R version 4.1.2
#> Loading required package: dotCall64
#> Warning: package 'dotCall64' was built under R version 4.1.2
#> Loading required package: grid
#> Spam version 2.7-0 (2021-06-25) is loaded.
#> Type 'help( Spam)' or 'demo( spam)' for a short introduction 
#> and overview of this package.
#> Help for individual functions is also obtained by adding the
#> suffix '.spam' to the function name, e.g. 'help( chol.spam)'.
#> 
#> Attaching package: 'spam'
#> The following objects are masked from 'package:base':
#> 
#>     backsolve, forwardsolve
#> Loading required package: viridis
#> Loading required package: viridisLite
#> 
#> Try help(fields) to get started.

加载数据

data(lennon)
obj <- list(x = 1:20, y = 1:20, z = lennon[201:220, 201:220])

定义逼近函数

approxfun_2d <- function(x, y) {
  interp.surface(obj, cbind(x, y))
}

Test it

set.seed(1)
approxfun_2d(x = runif(1, min = 1, max = 20), y = runif(1, min = 1, max = 20))
#> [1] 33.34148

绘制原始数据

image.plot(obj)

计算插值

x_interp <- runif(2e2, 1, 20)
y_interp <- runif(2e2, 1, 20)
z_interp <- approxfun_2d(x_interp, y_interp)

绘图近似

quilt.plot(x_interp, y_interp, z_interp)

Created on 2021-11-23 by the reprex package https://reprex.tidyverse.org (v2.0.1)

这并不 100% 等于 2D 版本approxfun,但对于大多数用途来说可能已经足够了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

寻求 2D 版本的 approxfun() 的相关文章

随机推荐

  • itunes 上缺少本地化屏幕截图错误

    我已选择默认语言 澳大利亚英语 作为默认语言 当我提交二进制文件时 它显示为被拒绝的 红色图标 状态为 缺少本地化屏幕截图 该应用程序仅使用单一语言 我添加了屏幕截图 该应用程序仅适用于 iPhone 当我查看显示为的二进制信息时 本地化
  • 可以监控 STM 的争用级别吗?

    有没有办法轮询 Clojure 的 STM 事务是否正在重试 以及重试的速率是多少 您可以观察history count一个 ref 将表明存在争用 user gt def my ref ref 0 min history 1 user m
  • Servlet 会话超时

    我正在编写我的 Spring MVC Web 应用程序 我将会话时间设置为 10080 分钟 相当于 1 周 现在我想让用户每次打开浏览器时都保持登录状态 sessionService setcurrentUser myuser HttpS
  • 从 Android Studio 运行应用程序时,在 Gradle 任务 processManifest.doLast 中编辑 AndroidManifest.xml 无效

    我使用以下 Gradle 脚本在编译时对 AndroidManifest xml 进行一些修改 在这个例子中我想注入一个
  • TFS 团队构建日志单元测试结果

    我们正在使用 TFS 2010 Team Build 它会在构建过程中自动运行我们的单元测试 如果单击 查看日志 我可以看到运行的测试列表和每个测试结果 成功 失败 如果发生失败 我想查看测试结果输出 以便开发人员可以找出失败的原因是什么
  • 使用 extern 和 #include 头文件有什么区别?

    我开始质疑 extern 关键字的有用性 该关键字用于访问其他模块 其他文件中 中的变量 函数 当我们使用 include 预处理器导入带有变量 函数原型或函数 变量定义的头文件时 我们不是在做同样的事情吗 extern之所以需要 是因为它
  • javascript location.href onchange 事件监听器?

    我想在你离开页面时显示一条消息 不是烦人的警报 只是一些告诉你等待的html 在考虑它时我面临着某些困难 当用户按下 Stop 时 浏览器 取消导航离开 行动 我想要发送消息 离开 每当单击任何链接时 都会出现该消息 当单击的链接打开另一个
  • Windows 7 中“ruby.exe 未被识别为内部或外部命令”

    我的操作系统是Windows 7 我正要连接我的本地MySQL数据库与Heroku共享数据库 在某一时刻 我得到了libmysql dll文件丢失的错误 所以我搜索并下载了dll文件并将其保存在ruby中 bin 目录 当我再次准备连接时
  • 混合效应逻辑回归

    我正在尝试在 python 中实现混合效应逻辑回归 作为比较 我正在使用glmer函数从lme4R 中的包 我发现statsmodels模块有一个BinomialBayesMixedGLM应该能够适合这样的模型 然而 我遇到了很多问题 我找
  • QTimer线程亲和性

    在文档中它说 在多线程应用程序中 您可以使用QTimer在任何线程中 有一个事件循环 要从非 GUI 线程启动事件循环 请使用QThread exec Qt 使用定时器的线程亲和性来确定 哪个线程将发出timeout 信号 正因为如此 你
  • 位置:固定导致元素比浏览器宽

    谁能告诉我为什么position fixed会导致元素比浏览器或页面上的其他内容更宽并导致水平滚动 这是代码 超文本标记语言
  • 如果我想要像 bootstrap vue 和 vuetify 这样的 2 个 css 框架,请使用同一个项目

    我想要 2 个 CSS 框架使用我现有的 nuxtjs 项目 有人质疑为什么要使用 2 个 CSS 框架一个 vuejs 项目 回答这个问题 我想要我的网站网页版和移动版 我使用网页版是 boostrapvue 它对于网页版来说很棒 或者
  • 使用 FileManager.default.currentDirectoryPath 时,Swift 5.2 出现分段错误:11

    我有一个类似于以下内容的自定义 Swift 脚本 usr bin env xcrun sdk macosx swift import Foundation let path FileManager default currentDirect
  • 当两个路由指向同一模型时,设计资源名称出现问题

    我的 api v1 和 v2 有两条路由指向相同的 Devise 模型 路由如下 scope api do namespace v1 do devise for users controllers gt registrations gt d
  • 如何一次性设置所有formik值?

    我有一个formik用于编辑来自 API 端点的数据的表单 目前我正在重新初始化useEffect像这样挂钩 React useEffect gt initialValues first name address first name in
  • 找不到与给定名称匹配的资源:attr 'android:tabLayout'

    我想通过用我自己的样式替换样式来自定义选项卡小部件 我要更换的项目如下
  • 类型或命名空间 不存在

    好吧 我之前已经遇到过这个问题一百万次了 而且之前已经被回答过 100 万 1 次了 然而 再一次 我有 3 个项目 A B 和 C 每个项目都有一个 DLL 每个项目都是 Net 4 0 不是客户端构建 完整的4 0 项目 C 引用 A
  • 为什么 CHECKSUM_AGG() 对于完全不同的输入值返回相同的值?

    我真的不明白怎么办CHECKSUM AGG 有效 尽管我知道它是通过使用异或来构建的 这解释了为什么它会返回0当您传递相等的整数时 但是 为什么我在以下 SQL 中得到相同的聚合校验和 其中输入值是唯一的 DECLARE test1 TAB
  • 为什么 10 的幂以科学记数法打印为 5 次方?

    我想知道 10 的幂是否与控制台中科学计数法的打印相关以及如何相关 我搜索了 R 文档 但没有找到任何相关的内容 或者我真正理解的内容 首先 我的scipen and digits设置是 unlist options scipen digi
  • 寻求 2D 版本的 approxfun()

    我正在 R 中寻找 2D 版本stats approxfun 可以生成插值function来自 x y z 数据集的 f x y 我在包裹中没有找到akima或其他地方 我会尝试重新适应interp surfaceR 包中的函数fields