i trying calculate euclidean distance iris dataset. want calculate distance between each pair of objects. have code working follows:
for (i in 1:iris_column){ (j in 1:iris_row) { m[i,j] <- sqrt((iris[i,1]-iris[j,1])^2+ (iris[i,2]-iris[j,2])^2+ (iris[i,3]-iris[j,3])^2+ (iris[i,4]-iris[j,4])^2) } }
although works, don't think way wring r-style code. know r has built-in function calculate euclidean function. without using built-in function, want know better code (faster , fewer lines) same code.
the part inside loop can written as
m[i, j] = sqrt(sum((iris[i, ] - iris[j, ]) ^ 2))
i’d keep nested loop, nothing wrong here.
Comments
Post a Comment