# Re: [R] manipulate a matrix2

From: Jon Hak <Jon_Hak_at_natureserve.org>
Date: Mon, 21 Jul 2008 10:22:24 -0400

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
>
>
>> 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
>> 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
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_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help