备注:
1.scale = T :如果数据在找到最近邻居之前进行缩放(默认为t),则进行布尔设置。
2.distData可选地,您可以在这里指定一个包含应该用来查找邻居的数据集的数据框。
在测试集中填写NA值时,这是有用的,您应该只使用训练集中的信息。
function (data, k = 10, scale = T, meth = "weighAvg", distData = NULL)
{
n <- nrow(data) #计算数据data的行数n
if (!is.null(distData)) { #如果distdata不是默认值NULL(注意!),那么变量distInit等于行数n+1
distInit <- n + 1
data <- rbind(data, distData) #rbind是将数据集根据行进行合并,就是自动往下面顺延组合
}
else distInit <- 1 #否则变量distInit等于1
N <- nrow(data) #记N为新data的行数
ncol <- ncol(data) #记ncol为新data的列数
nomAttrs <- rep(F, ncol) #nomattrs 就是生成一个向量,元素是FALSE,个数是ncol个(data列数个)
#seq(ncol)就是生成了1,2,3...ncol,一组连续的向量
for (i in seq(ncol)) nomAttrs[i] <- is.factor(data[, i])#判断data中每列变量类型是否为factor的变量列,
1.scale = T :如果数据在找到最近邻居之前进行缩放(默认为t),则进行布尔设置。
2.distData可选地,您可以在这里指定一个包含应该用来查找邻居的数据集的数据框。
在测试集中填写NA值时,这是有用的,您应该只使用训练集中的信息。
这默认为NULL,这意味着将在数据中搜索邻居
function (data, k = 10, scale = T, meth = "weighAvg", distData = NULL)
{
n <- nrow(data) #计算数据data的行数n
if (!is.null(distData)) { #如果distdata不是默认值NULL(注意!),那么变量distInit等于行数n+1
distInit <- n + 1
data <- rbind(data, distData) #rbind是将数据集根据行进行合并,就是自动往下面顺延组合
}
else distInit <- 1 #否则变量distInit等于1
N <- nrow(data) #记N为新data的行数
ncol <- ncol(data) #记ncol为新data的列数
nomAttrs <- rep(F, ncol) #nomattrs 就是生成一个向量,元素是FALSE,个数是ncol个(data列数个)
#seq(ncol)就是生成了1,2,3...ncol,一组连续的向量
for (i in seq(ncol)) nomAttrs[i] <- is.factor(data[, i])#判断data中每列变量类型是否为factor的变量列,