Hello, I am trying to convert list of pairwise distances to a distance matrix for spatial analysis (kriging). For instance, I have something like this for each pair pf points, and I want to convert it to a matrix: point1 point2 distance 1 1 0 1 2 4 2 2 0 2 1 4 Please let me know if there is a function or method that can do this. Thanks, Christy [[alternative HTML version deleted]]
Daniel Malter
2008-Nov-10 00:27 UTC
[R] how to convert indvidual pairwise distances to matrix
what should your matrix look like? do you mean something like this? p1=c(1,1,2,2) p2=c(1,2,1,2) d=c(0,4,4,0) cbind(p1,p2,d) d2=matrix(d,length(d)/2,length(d)/2) d2 Cheers, Daniel ------------------------- cuncta stricte discussurus ------------------------- -----Urspr?ngliche Nachricht----- Von: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] Im Auftrag von skinny c Gesendet: Sunday, November 09, 2008 7:11 PM An: r-help at r-project.org Betreff: [R] how to convert indvidual pairwise distances to matrix Hello, I am trying to convert list of pairwise distances to a distance matrix for spatial analysis (kriging). For instance, I have something like this for each pair pf points, and I want to convert it to a matrix: point1 point2 distance 1 1 0 1 2 4 2 2 0 2 1 4 Please let me know if there is a function or method that can do this. Thanks, Christy [[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org mailing list 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.
Jorge Ivan Velez
2008-Nov-10 00:29 UTC
[R] how to convert indvidual pairwise distances to matrix
Dear Christy,
Take a look at
http://www.nabble.com/Efficient-way-to-fill-a-matrix-to20351720.html#a20351720
Here are three options to do what you want:
# Data set
mydata=read.table(textConnection("
point1 point2 distance
1 1 0
1 2 4
2 2 0
2 1 4"),header=TRUE)
closeAllConnections()
# Option 1
with(mydata,tapply(distance,list(point1,point2),"[[",1))
# Option 2
M <- matrix(,2,2)
attach(mydata)
M[cbind(point1,point2)]<-distance
# Option 3
library(reshape)
cast(mydata, point1~point2)
HTH,
Jorge
On Sun, Nov 9, 2008 at 7:11 PM, skinny c <skinny5555@gmail.com> wrote:
> Hello,
> I am trying to convert list of pairwise distances to a distance matrix for
> spatial analysis (kriging). For instance, I have something like this for
> each pair pf points, and I want to convert it to a matrix:
>
> point1 point2 distance
> 1 1 0
> 1 2 4
> 2 2 0
> 2 1 4
>
> Please let me know if there is a function or method that can do this.
>
> Thanks,
> Christy
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list
> 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.
>
[[alternative HTML version deleted]]