Мне нужно создать матрицу расстояний от матрицы, которая возвращает расстояние между столбцами.создать матрицу расстояний в R (без использования dist())
Я ЗНАЛ, что существует функция, называемая dist(), но я не могу ее использовать, потому что я буду использовать не общие функции расстояния.
Я думал об использовании приложения, но я не знаю, как его написать.
Петля Я создал это:
dista <- function(A,distance){
dist_matrix=matrix(0,dim(A)[2],dim(A)[2])
for (i in 1:(dim(A)[2]-1)){
for(j in (i+1):(dim(A)[2])){
if(distance=='cosine') dist_matrix[j,i]<- (1-sum(A[,i]*A[,j]))/(sqrt(sum(A[,i]^2))+sqrt(sum(A[,j]^2)))
}
}
dist_matrix
}
Можете ли вы опубликовать пример своих столбцов данных и ожидаемого результата? Возможно, даже код цикла, который вы написали, медленный? – Gopala
Более подробная информация поможет. –
Я только что написал цикл, моя матрица 129569rows x 60columns – cdom