From: Jon Hak <Jon_Hak_at_natureserve.org>

Date: Mon, 21 Jul 2008 12:21:35 -0400

> x[upper.tri(x)] <- NA

*> x
*

[4,] 4 9 14 19 .

[5,] 5 10 15 20 25

*>
*

Date: Mon, 21 Jul 2008 12:21:35 -0400

That's awesome!! I was trying to use the tri function, but not successfully.

-----Original Message-----

From: jim holtman [mailto:jholtman_at_gmail.com]
Sent: Monday, July 21, 2008 10:10 AM

To: Jon Hak

Cc: r-help_at_r-project.org

Subject: Re: [R] manipulate a matrix2

Will this do it for you:

*> ?print.default
**> x
*

[,1] [,2] [,3] [,4] [,5]

[1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 [4,] 4 9 14 19 24 [5,] 5 10 15 20 25

> x[upper.tri(x)] <- NA

[,1] [,2] [,3] [,4] [,5]

[1,] 1 NA NA NA NA [2,] 2 7 NA NA NA [3,] 3 8 13 NA NA [4,] 4 9 14 19 NA [5,] 5 10 15 20 25

> print(x, na.print='.')

[,1] [,2] [,3] [,4] [,5] [1,] 1 . . . . [2,] 2 7 . . . [3,] 3 8 13 . .

[4,] 4 9 14 19 .

[5,] 5 10 15 20 25

On Mon, Jul 21, 2008 at 11:47 AM, Jon Hak <Jon_Hak_at_natureserve.org>
wrote:

> The vegan matrix produces values of similarity between sample sites.

*> Because the matrix uses the same samples for the row names and the
**> column header it has duplicates on either side of the base diagonal
**> (below).
**>
**> 3 7 8 11 12
**> 3 0 0.6 1 0.3 0.85
**> 7 0.66 0 1 0.65 0.95
**> 8 1 1 0 1 1
**> 11 0.3 0.65 1 0 0.9
**> 12 0.85 0.95 1 0.9 0
**>
**> Ideally, the matrix should look like;
**>
**> 3 7 8 11 12
**> 3 0
**> 7 0.66 0
**> 8 1 1 0
**> 11 0.3 0.65 1 0
**> 12 0.85 0.95 1 0.9 0
**>
**> This is probably a question for the Vegan developers, but I really
**> appreciate your (and the lists) insight.
**>
**> -----Original Message-----
**> From: jim holtman [mailto:jholtman_at_gmail.com]
**> Sent: Monday, July 21, 2008 9:18 AM
**> To: Jon Hak
**> Cc: r-help_at_r-project.org
**> Subject: Re: [R] manipulate a matrix2
**>
**> I am not familiar with the vegdist function. What defines a duplicate
**> in the matrix? There are ways if identifying if more than one row
**> meets the criteria duplicates and then removing them. Can you give an
**> illustration of what you mean with a before/after data representation.
**>
**> On Mon, Jul 21, 2008 at 10:22 AM, Jon Hak <Jon_Hak_at_natureserve.org>
**> wrote:
**>> Thanks Jim, that was exactly what I was after.
**>>
**>> On a second note, do you have any insight into pulling out the
**>> duplicates in this type of matrix?
**>> I thought that was what the upper=FALSE is in:
**>> csv.dis <- vegdist(csv.m, method='jaccard', binary=FALSE, diag=FALSE,
**>> upper=FALSE). I just need either the lower or upper portion, with
*

the

>> zeros (,3 & ,3) being the dividing line.

*>>
**>> [,3] [,5] [,6] [,9] [,11]
**>>
**>> [3,] 0 2 3 4 5
**>>
**>> [5,] 2 0 8 9 10
**>>
**>> [6,] 3 8 0 14 15
**>>
**>> [9,] 4 9 14 0 20
**>>
**>> [11,] 5 10 15 20 0
**>>
**>> Thanks again,
**>>
**>> Jon
**>>
**>>
**>>
**>> -----Original Message-----
**>> From: jim holtman [mailto:jholtman_at_gmail.com]
**>> Sent: Friday, July 18, 2008 9:56 AM
**>> To: Jon Hak
**>> Cc: r-help_at_r-project.org
**>> Subject: Re: [R] manipulate a matrix2
**>>
**>> Is this what you want:
**>>
**>>> x
**>> [,3] [,5] [,6] [,9] [,11]
**>> [,3] 1 6 11 16 21
**>> [,5] 2 7 12 17 22
**>> [,6] 3 8 13 18 23
**>> [,9] 4 9 14 19 24
**>> [,11] 5 10 15 20 25
**>>> library(reshape)
**>>> melt(x)
**>> X1 X2 value
**>> 1 [,3] [,3] 1
**>> 2 [,5] [,3] 2
**>> 3 [,6] [,3] 3
**>> 4 [,9] [,3] 4
**>> 5 [,11] [,3] 5
**>> 6 [,3] [,5] 6
**>> 7 [,5] [,5] 7
**>> 8 [,6] [,5] 8
**>> 9 [,9] [,5] 9
**>> 10 [,11] [,5] 10
**>> 11 [,3] [,6] 11
**>> 12 [,5] [,6] 12
**>> 13 [,6] [,6] 13
**>> 14 [,9] [,6] 14
**>> 15 [,11] [,6] 15
**>> 16 [,3] [,9] 16
**>> 17 [,5] [,9] 17
**>> 18 [,6] [,9] 18
**>> 19 [,9] [,9] 19
**>> 20 [,11] [,9] 20
**>> 21 [,3] [,11] 21
**>> 22 [,5] [,11] 22
**>> 23 [,6] [,11] 23
**>> 24 [,9] [,11] 24
**>> 25 [,11] [,11] 25
**>>>
**>>
**>>
**>> On Fri, Jul 18, 2008 at 11:10 AM, Jon Hak <Jon_Hak_at_natureserve.org>
**>> wrote:
**>>> Building upon Jim's answer below (Thanks Jim, that helped a lot), I
**>> need
**>>> to pickup where this thread left off. I'm using Vegan to calculate
**>> the
**>>> Jaccard's Index and the Row.Names and column names are represented
*

in

*>> my
*

>>> matrix as seen here.

*>>>
**>>> [,3] [,5] [,6] [,9] [,11]
**>>>
**>>> [3,] 0 6 11 16 21
**>>>
**>>> [5,] 2 0 12 17 22
**>>>
**>>> [6,] 3 8 0 18 23
**>>>
**>>> [9,] 4 9 14 0 24
**>>>
**>>> [11,] 5 10 15 20 0
**>>>
**>>>
**>>>
**>>> When I use the command;
**>>> xy <- cbind(row=as.vector(row.names(x)), col=as.vector(colnames(x)),
**>>> value=as.vector(x))
**>>>
**>>> I get the list (the column value is the issue);
**>>>
**>>> row col value
**>>> [1,] 3 1 0
**>>> [2,] 5 1 2
**>>> [3,] 6 1 3
**>>> [4,] 9 1 4
**>>> [5,] 11 1 5
**>>> [6,] 3 2 6
**>>> [7,] 5 2 0
**>>> [8,] 6 2 8
**>>> [9,] 9 2 9
**>>> [10,] 11 2 10
**>>> [11,] 3 3 11
**>>> [12,] 5 3 0
**>>>
**>>> I would really like the col value to equal the actual name, not the
**>>> column number. What am I missing? The analysis is very large, 6k
**> x6k
**>>> matrix so automating the process is a high priority.
**>>>
**>>> Thanks,
**>>> Jon
**>>>
**>>>
**>>>
**>>> From: jim holtman <jholtman_at_gmail.com
**>>>
**>>
**>
*

<mailto:jholtman_at_gmail.com?Subject=Re:%20%5BR%5D%20manipulate%20a%20m

>>> atrix> >

*>>> Date: Mon, 25 Jun 2007 12:39:46 -0400
**>>>
**>>> Is this what you want?
**>>>
**>>>> x
**>>>
**>>> [,1] [,2] [,3] [,4] [,5]
**>>>
**>>> [1,] 1 6 11 16 21
**>>> [2,] 2 7 12 17 22
**>>> [3,] 3 8 13 18 23
**>>> [4,] 4 9 14 19 24
**>>> [5,] 5 10 15 20 25
**>>>
**>>>
**>>>
**>>> cbind(row=as.vector(row(x)), col=as.vector(col(x)),
**>> value=as.vector(x))
**>>>
**>>>
**>>> row col value
**>>> [1,] 1 1 1
**>>> [2,] 2 1 2
**>>> [3,] 3 1 3
**>>> [4,] 4 1 4
**>>> [5,] 5 1 5
**>>> [6,] 1 2 6
**>>> [7,] 2 2 7
**>>> [8,] 3 2 8
**>>> [9,] 4 2 9
**>>> [10,] 5 2 10
**>>> [11,] 1 3 11
**>>> [12,] 2 3 12
**>>> [13,] 3 3 13
**>>> [14,] 4 3 14
**>>> [15,] 5 3 15
**>>> [16,] 1 4 16
**>>> [17,] 2 4 17
**>>> [18,] 3 4 18
**>>> [19,] 4 4 19
**>>> [20,] 5 4 20
**>>> [21,] 1 5 21
**>>> [22,] 2 5 22
**>>> [23,] 3 5 23
**>>>
**>>>
**>>> [24,] 4 5 24
**>>> [25,] 5 5 25
**>>>>
**>>>
**>>> On 6/25/07, Jon Hak <Jon_Hak_at_natureserve.org> wrote:
**>>>>
**>>>> I have read everything I can find on how to manipulate a results
**>>> matrix in
**>>>
**>>
**>
*

<http://tolstoy.newcastle.edu.au/R/e2/help/07/06/19875.html#19887qlink1>

*>>>
*

>>>> R and I have to admit I'm stumped. I have set up a process to

*> extract
**>>> a
**>>>> dataset from ArcGIS to compute a similarity index (Jaccards) in
**>> Vegan.
**>>> The
**>>>> dataset is fairly simple, but large, and consists of rows = sample
**>>> area, and
**>>>> columns = elements. I've been able to view the results in R, but I
**>>> want to
**>>>> get the results out to a database and a matrix that is 6000-rows x
**>>>> 6000-columns can be very difficult to manipulate in Windows XP. I
**>>> would to
**>>>> rotate the matrix so that the output would look like the old
**>> condensed
**>>>
**>>>> format in programs like Conoco. Ideally, I would like format to
*

look

>>>> something like this;

*>>>>
**>>>>
**>>>> Site-row Site-col Jaccard
**>>>> 1 1 1
**>>>> 1 2 .9
**>>>> 1 3 .6
**>>>> 2 1 .9
**>>>> 2 2 1
**>>>> 2 3 .75
**>>>>
**>>>> Thanks for any help,
**>>>>
**>>>>
**>>>>
**>>>>
**>>>> ***********************************************************
**>>>> John Hak
**>>>> Senior GIS Analyst/Sr. Ecologist
**>>>> NatureServe
**>>>> 4001 Discovery Drive
**>>>> Boulder, CO 80303
**>>>> (703) 797-4809
**>>>>
**>>>> There is perhaps no better demonstration of the folly of human
**>>> conceits
**>>>> than this distant image of our tiny world. To me, it underscores
*

our

>>>> responsibility to deal more kindly with one another, and to

preserve

>>> and

*>>>> cherish the pale blue dot, the only home we've ever known. --Carl
**>>> Sagan
**>>>>
**>>>>
**>>>> ______________________________________________
**>>>> R-help_at_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?
**>>>
**>>> [[alternative HTML version deleted]]
**>>>
**>>>
**>>>
**>>>
**>>>
**>>>
**>>> [[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.
**>>>
**>>
**>>
**>>
**>> --
**>> Jim Holtman
**>> Cincinnati, OH
**>> +1 513 646 9390
**>>
**>> What is the problem you are trying to solve?
**>>
**>
**>
**>
**> --
**> Jim Holtman
**> Cincinnati, OH
**> +1 513 646 9390
**>
**> What is the problem you are trying to solve?
**>
*

-- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? ______________________________________________ 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.Received on Mon 21 Jul 2008 - 16:31:07 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Mon 21 Jul 2008 - 17:32:02 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*