r - 如何将 2D 矩阵平滑到 R 中的第 N 个最近邻?
问题描述
假设我有以下矩阵:
M=matrix(data = c(0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1),ncol = 4,nrow = 4,byrow = T)
这是:
[,1] [,2] [,3] [,4]
[1,] 0 0 1 1
[2,] 0 0 1 1
[3,] 0 0 1 1
[4,] 0 0 1 1
我想将此矩阵平滑到最近的邻居(如果可能的话,到第 N 个最近的邻居),同时保留原始矩阵的维度,如窗口平均但在 2D 中。令我惊讶的是,我还没有找到执行此计算的 R 函数。
例如,如果我想将它平滑到第一个邻居,并且为了简单起见,对每个平均值使用相同的权重,输出将是:
M_smoothed=matrix(data = c(0,2/6,4/6,4/4,0,3/9,6/9,6/6,0,3/9,6/9,6/6,0,2/6,4/6,4/4),ncol = 4,nrow = 4,byrow = T)
这是:
[,1] [,2] [,3] [,4]
[1,] 0 0.3333333 0.6666667 1
[2,] 0 0.3333333 0.6666667 1
[3,] 0 0.3333333 0.6666667 1
[4,] 0 0.3333333 0.6666667 1
提前致谢!
解决方案
推荐阅读
- javascript - 在 Selenium 中调用 sendKeys() 时会话 ID 无效
- css - 在 nodejs / express 中应用静态文件夹
- sql - 查找每个组最频繁的日期
- javascript - 带有 emscripten 的 document.exitFullscreen() 成功,然后失败
- c# - 错误处理干扰了 C# 中的递归方法
- python - 将 CMD 样式参数传递给 python 中的命令 | 将 PowerShell 函数转换为 python 3,我找不到易于理解的答案
- excel - 从 D 列中提取唯一值并组合在一个单元格中。Excel VBA
- spring-security-oauth2 - Spring Cloud 合约 jwt 代币
- python - 如何在 4 维 numpy 数组中合并多个 3 维 numpy 数组?
- c# - 当我释放第二次触摸时,Unity Input Touch 也会取消第一次触摸