Melanie Ann Harsch a écrit : > I have a question that I have been trying to figure out and I imagine > there is a very simple answer to it. > > I am trying to use the distAB function in the clim.pact package > I have a dataframe with 4 columns in which A is ref pt and B is site > 1. longitude of A > 2. Latitude of A > 3. longitude of B > 4. Latitude of B > > Problem is the columns are unequal in length > column 1 and 2 are length=29 and 3 and 4 length=53
Curious representation... I'd rather use two dataframes (those are different sets, of course ? > What I want to do is create a matrix which are filled with values of > distAB for B (site) at all levels of A (reference points) > > Any ideas? OTTOMM : D1<-df[1:29,1:3] D2<-df[,3:4] t<-outer(1:29,1:53,FUN=function(i,j)distAB(D1[i,1],D1[i,2],D2[j,1],D2[j,2])) This is probably the most straightforward, and might be the more efficient (no loops). However, you'll note that, if one set is a subset of the other, each distance between points of the inner set is computed *twice*. If the 'cost" of computing a distance is much higher than the cost of an ifelse(), treating this special case might be worthy (but that's not easy). HTH, Emmanuel Charpentier ______________________________________________ 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.