[R] Calculating just a single row of dissimilarity/distance matrix

Jan van der Laan rhe|p @end|ng |rom eoo@@dd@@n|
Sat Oct 27 22:17:32 CEST 2018


Please respond to the list; there are more people answering there.


As explained in the documentation gower_dist performes a pairwise 
comparison of the two arguments recycling the shortest one if needed, so 
indeed gower_dist(iris[1:5, ], iris) doesn't do what you want.

Possible solutions are:

tmp <- split(iris[1:150, ], seq_len(150))

sapply(gower_dist, iris)


and:


library(dplyr)

library(tidyr)

pairs <- expand.grid(x = 1:5, y = 1:nrow(iris))
pairs$dist <- gower_dist(iris[pairs$x, ], iris[pairs$y, ])
pairs %>% spread(y, dist)

Don't know which one is faster. And there are probably various other 
solutions too.

--
Jan





On 27-10-18 18:04, Aerenbkts bkts wrote:
> Dear Jan
>
> Thanks for your help. Actually it works for the first element. But I 
> tried to calculate distance values for the first N rows. For example;
>
> gower_dist(iris[1:5,], iris) // gower distance for the first 5 rows. 
> but it did not work. Do you have any suggestion about it?
>
>
>
> On Fri, 26 Oct 2018 at 21:31, Jan van der Laan <rhelp using eoos.dds.nl 
> <mailto:rhelp using eoos.dds.nl>> wrote:
>
>
>     Using another implementation of the gower distance:
>
>
>     library(gower)
>
>     gower_dist(iris[1,], iris)
>
>
>     HTH,
>
>     Jan
>
>
>
>     On 26-10-18 15:07, Aerenbkts bkts wrote:
>     > I have a data-frame with 30k rows and 10 features. I would like to
>     > calculate distance matrix like below;
>     >
>     > gower_dist <- daisy(data-frame, metric = "gower"),
>     >
>     >
>     > This function returns whole dissimilarity matrix. I want to get just
>     > the first row.
>     > (Just distances of the first element in data-frame). How can I
>     do it?
>     > Do you have an idea?
>     >
>     >
>     > Regards
>     >
>     >       [[alternative HTML version deleted]]
>     >
>     > ______________________________________________
>     > R-help using r-project.org <mailto:R-help using r-project.org> mailing list
>     -- To UNSUBSCRIBE and more, see
>     > https://stat.ethz.ch/mailman/listinfo/r-help
>     > PLEASE do read the posting guide
>     http://www.R-project.org/posting-guide.html
>     > and provide commented, minimal, self-contained, reproducible code.
>
>     ______________________________________________
>     R-help using r-project.org <mailto:R-help using r-project.org> mailing list --
>     To UNSUBSCRIBE and more, see
>     https://stat.ethz.ch/mailman/listinfo/r-help
>     PLEASE do read the posting guide
>     http://www.R-project.org/posting-guide.html
>     and provide commented, minimal, self-contained, reproducible code.
>




More information about the R-help mailing list