如何获取不在r的数据帧内的观测值的K个最近邻居的索引?

时间:2019-10-20 04:53:01

标签: r dataframe knn

假设我有这个数据框:

df <- data.frame(replicate(10,sample(1:25,1000,rep=TRUE)))

我也有这个观察结果,它不在数据集中。

obs <- c(12, 2, 19, 3, 5, 8, 12, 4, 5, 1)

我想做的是在数据帧 df 中找到 obs 的k个最近邻居。

下面的代码使我可以得到一个包含df中每个观测值的30个最近邻居的索引的矩阵。

knnmatrix <- FNN::get.knn(scale(df), k = 30) 

然后我可以用它来获取仅包含我想要的任何观测值的30个最近邻居的数据框:

df2 <- df[knnmatrix$nn.index[3,],]

但是,由于它不在 df 中,因此我似乎找不到一种方法来获取 obs 的这些值。什么是在数据帧 df 中获取 obs 的k(在这种情况下为30)最近邻居的索引的好方法?

0 个答案:

没有答案