如何计算一维情况下的反向距离权重?

时间:2018-08-11 05:41:28

标签: r

这是一个示例数据框:

test = data.frame('id'=c('1','2','3'),'value'=c(4,6,8),'score'=c(5,7,9))

test
  id value score
1  1     4     5
2  2     6     7
3  3     8     9

我正在为每条记录寻找一个标记:

formula

我确实经历了一些软件包(例如herehere)来进行2D插值的反距离加权,但是我觉得我的问题方向不正确。有人可以给我任何提示吗?预先感谢!

1 个答案:

答案 0 :(得分:1)

使用给出的提示

test = data.frame('id'=c('1','2','3'),'value'=c(4,6,8),'score'=c(5,7,9))
weight <- outer(test$value, test$value, function(a,b) 1/abs(a-b))
for(i in 1:length(test$score)){
 test$mark[i] <- sum(test$score[-i]*weight[-i,i])/sum(weight[-i,i])
}