首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算R中两个不同大小矩阵的最近邻点?

如何计算R中两个不同大小矩阵的最近邻点?
EN

Stack Overflow用户
提问于 2016-03-09 09:08:27
回答 1查看 196关注 0票数 1

我是R的初学者,我有两个2D矩阵,其中包含经度(第一个colum)和纬度(第二个colum)数据。两个矩阵的大小分别是: dim_o(93264,2),dim_m(174688,2)。我想找出dim_m与dim_o的近邻点。我的意思是参考矩阵是dim_o。我可以用Matlab (MeteoLab工具箱)计算它,方法如下:

代码语言:javascript
复制
[indAng, disAng]=MLknn(dim_o,dim_m,1, 'Norm-2 ')

我在库(类)中尝试了R中的knn函数:

代码语言:javascript
复制
x.train=dim_o
x.test=dim_m
response_dim=dim_o
dim.knn=knn(train=x.train, test=x.test, cl=response_dim, k=1)

但我发现了一个错误:

代码语言:javascript
复制
Error in knn(train = x.train, test = x.test, cl = response_dim, k = 1) : 
'train' and 'class' have different lengths

如何计算R中两个不同大小矩阵的最近邻坐标点?谢谢你提前提供帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-09 09:57:25

对于cl参数,您需要一个向量,只要train中有行;您要传递一个矩阵,该矩阵被转换为向量的两倍长。尝试:

代码语言:javascript
复制
dim.knn=knn(train=x.train, test=x.test, cl=seq_len(nrow(train)), k=1)

您还可以使用knn1()并省略k=1参数。还有其他实现k近邻的包,如FNN

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35887201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档