[R] how to get column/row info from a dist object?

2007-05-11 Thread Pedro Mardones
Dear R users;

Is it possible to get the row and column number of a particular entry
in a dist object?

Let's say that I want to find the position of the value 1.1837 (the
last entry on the dist object below), that is [6,3]. Can I get those
values without transforming the object to a matrix?, i.e. working with
the dist object only.

12   3
2  0.23935864
3  0.56655914 0.71923104
4  0.15272561 0.37926989 0.43931332
5  0.17728654 0.13355685 0.73025495
6  0.61783536 0.52055379 1.18374889

Thanks for any idea
PM

__
R-help@stat.math.ethz.ch 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.


Re: [R] how to get column/row info from a dist object?

2007-05-11 Thread Francisco J. Zagmutt
But the dist object is not structured with rows and columns.  i.e.

x=1:4

d=dist(x)
   1 2 3
2 1
3 2 1
4 3 2 1

str(d)
Class 'dist'  atomic [1:6] 1 2 3 1 2 1
   ..- attr(*, Size)= int 4
   ..- attr(*, Diag)= logi FALSE
   ..- attr(*, Upper)= logi FALSE
   ..- attr(*, method)= chr euclidean
   ..- attr(*, call)= language dist(x = x)

So, AFAIK if you want to get references for rows and columns you need to 
make it an object that indeed has rows and columns, i.e. a matrix.  See 
?which to obtain the reference you want in a matrix.

Regards,

Francisco


Pedro Mardones wrote:
 Dear R users;
 
 Is it possible to get the row and column number of a particular entry
 in a dist object?
 
 Let's say that I want to find the position of the value 1.1837 (the
 last entry on the dist object below), that is [6,3]. Can I get those
 values without transforming the object to a matrix?, i.e. working with
 the dist object only.
 
 12   3
 2  0.23935864
 3  0.56655914 0.71923104
 4  0.15272561 0.37926989 0.43931332
 5  0.17728654 0.13355685 0.73025495
 6  0.61783536 0.52055379 1.18374889
 
 Thanks for any idea
 PM
 
 __
 R-help@stat.math.ethz.ch 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.


__
R-help@stat.math.ethz.ch 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.


Re: [R] how to get column/row info from a dist object?

2007-05-11 Thread Pedro Mardones
Thanks Francisco;
I'm trying to avoid the step of converting a dist object into a matrix
because I'm working with matrices of more than 5000 rows x 5000
columns. I just was wondering if someone knew any trick to do that.

On 5/11/07, Francisco J. Zagmutt [EMAIL PROTECTED] wrote:
 But the dist object is not structured with rows and columns.  i.e.

 x=1:4

 d=dist(x)
   1 2 3
 2 1
 3 2 1
 4 3 2 1

 str(d)
 Class 'dist'  atomic [1:6] 1 2 3 1 2 1
   ..- attr(*, Size)= int 4
   ..- attr(*, Diag)= logi FALSE
   ..- attr(*, Upper)= logi FALSE
   ..- attr(*, method)= chr euclidean
   ..- attr(*, call)= language dist(x = x)

 So, AFAIK if you want to get references for rows and columns you need to
 make it an object that indeed has rows and columns, i.e. a matrix.  See
 ?which to obtain the reference you want in a matrix.

 Regards,

 Francisco


 Pedro Mardones wrote:
  Dear R users;
 
  Is it possible to get the row and column number of a particular entry
  in a dist object?
 
  Let's say that I want to find the position of the value 1.1837 (the
  last entry on the dist object below), that is [6,3]. Can I get those
  values without transforming the object to a matrix?, i.e. working with
  the dist object only.
 
  12   3
  2  0.23935864
  3  0.56655914 0.71923104
  4  0.15272561 0.37926989 0.43931332
  5  0.17728654 0.13355685 0.73025495
  6  0.61783536 0.52055379 1.18374889
 
  Thanks for any idea
  PM
 
  __
  R-help@stat.math.ethz.ch 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.
 

 __
 R-help@stat.math.ethz.ch 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.


__
R-help@stat.math.ethz.ch 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.


Re: [R] how to get column/row info from a dist object?

2007-05-11 Thread jim holtman
which(..., arr.ind=TRUE)

On 5/11/07, Pedro Mardones [EMAIL PROTECTED] wrote:
 Dear R users;

 Is it possible to get the row and column number of a particular entry
 in a dist object?

 Let's say that I want to find the position of the value 1.1837 (the
 last entry on the dist object below), that is [6,3]. Can I get those
 values without transforming the object to a matrix?, i.e. working with
 the dist object only.

12   3
 2  0.23935864
 3  0.56655914 0.71923104
 4  0.15272561 0.37926989 0.43931332
 5  0.17728654 0.13355685 0.73025495
 6  0.61783536 0.52055379 1.18374889

 Thanks for any idea
 PM

 __
 R-help@stat.math.ethz.ch 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.



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

__
R-help@stat.math.ethz.ch 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.


Re: [R] how to get column/row info from a dist object?

2007-05-11 Thread Gabor Grothendieck
On 5/11/07, Pedro Mardones [EMAIL PROTECTED] wrote:
 Dear R users;

 Is it possible to get the row and column number of a particular entry
 in a dist object?

 Let's say that I want to find the position of the value 1.1837 (the
 last entry on the dist object below), that is [6,3]. Can I get those
 values without transforming the object to a matrix?, i.e. working with
 the dist object only.

12   3
 2  0.23935864
 3  0.56655914 0.71923104
 4  0.15272561 0.37926989 0.43931332
 5  0.17728654 0.13355685 0.73025495
 6  0.61783536 0.52055379 1.18374889

 Thanks for any idea
 PM

Try this.

row.col - function(dd, value) {
if (length(value) == 1) {
g - grep(value, dd)
N - attr(dd, Size)
idx - cumsum(seq(N-1, 1))
ic - sum(g  idx) + 1
ir - g - c(0,idx)[ic] + ic
c(row = ir, col = ic)
} else sapply(value, row.col, dd = dd)
}

# test
set.seed(1)
x - matrix(rnorm(100), nrow=5)
dd - dist(x)
dd
dd[7]
row.col(dd, dd[7])
row.col(dd, unlist(dd))

__
R-help@stat.math.ethz.ch 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.