所以现在写我正在用 R 编写一个函数,它查看以矩阵形式呈现的一组向量和两个测试向量,然后检查原始集合中的每个向量,并确定它更接近两个测试向量中的哪一个(或两者都不是),然后将三个数据集作为矩阵输出(向量更接近第一个测试,第二个测试,两者都不是)。我写了另一个函数,它只查看三个向量,然后给出第一个向量更接近哪个向量作为输出(这是更接近的函数)。它及其结果用于新功能。
这是更大功能的代码:
vectorwork <- function(mat,test1,test2){
closer1 = ()
closer2 = ()
neither = ()
y = dim(mat)[2]
for(i in 1:(dim(mat)[1]){
if(closer(mat[i,],test1,test2)==1){
closer1[length(closer1)+1] = mat[i,]
}
else if(closer(mat[i,],test1,test2)==2){
closer2[length(closer2)+1] = mat[i,]
}
else{
neither[length(neither)+1] = mat[i,]
}
}
close1 = matrix(closer1, (length(closer1)/y), y)
close2 = matrix(closer2, (length(closer2)/y), y)
neith = matrix(neither, (length(neither)/y), y)
print(close1,close2,neith)
}
我在整个代码中不断收到错误。由于我是 R 新手,所以我不确定我到底哪里出错了。任何帮助,将不胜感激!