【发布时间】:2020-05-21 05:28:59
【问题描述】:
BLUF:我正在寻找一个现有的函数,或者我可以开发成一个函数的通用算法,以沿图表插入节点属性。
考虑下图:
library(tidyverse)
library(tidygraph)
library(ggraph)
set.seed(40)
g = create_lattice(c(8, 8), TRUE, TRUE) %N>%
mutate(
value = if_else(
runif(n()) > 0.5,
rnorm(n(), 50, 15),
NA_real_
)
) %E>%
mutate(length = abs(rnorm(n(), 5, 3))) %E>%
filter(runif(n()) > 0.25)
ggraph(g) + theme_void() +
geom_edge_link2(arrow = arrow(length = unit(4, 'mm')),
end_cap = circle(3, 'mm')) +
geom_node_point(aes(color = value), size = 5)
我想根据相邻节点插入缺失的节点属性。理想情况下,插值将考虑边缘权重(例如距离或长度)以及边缘方向,并且可以选择通过常数值进行推断(即类似于approx(..., rule = 2) 的工作方式)。我对特定类型的插值没有特别的偏好(我会对线性插值、反距离加权等感到满意),但我很难确定或概念化算法。
在 R 中是否有适用于 igraph 或 tidygraph 的节点属性插值算法,或者是否有已发布的算法可以在 R 中轻松实现?
【问题讨论】:
标签: r interpolation igraph