k近邻算法 r语言_R软件K近邻算法函数代码解释

这段代码展示了如何在R语言中使用K近邻算法处理包含缺失值的数据。通过找到最近邻并根据设定的方法(如中位数)来填充缺失值。
摘要由CSDN通过智能技术生成

gt.nas 等于nas(缺失行数)[提取缺失行数小于等于data行数的行]

else tgt.nas &lt- nas #如果distdata是null,直接 tgt.nas &lt- nas,也就是说如果distData是NULL,会认为我只使用训练集中的信息。

if (length(tgt.nas) == 0) ##没有缺失变量,停止因为没必要做其他事

warning("No case has missing values. Stopping as there is nothing to do.")

xcomplete &lt- dm[setdiff(distInit:N, nas), ]

#setdiff(distInit:N, nas)为删去缺失的行,xcomplete为完整观测的行

if (nrow(xcomplete) &lt k) #如果xcomplete的行数小于K,返回“没有足够完整的计算邻居的案例”

stop("Not sufficient complete cases for computing neighbors.")

for (i in tgt.nas) { #在i到tgt.nas(缺失的行数)的行数中

tgtAs &lt- which(is.na(dm[i, ])) #在dm中的观测缺失每一行,确定是哪列的变量缺失,赋给tgtAs

dist &lt- scale(xcomplete, dm[i, ], FALSE) #?是否理解为:xcomplete每列都减去缺失列的中心值

#scale(x, center = TRUE, scale = TRUE)

#如果center是一个长度等于x列数的数值向量,那么x的

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值