[R] Write lower half of distance matrix only

jim holtman jholtman at gmail.com
Fri Jul 25 18:34:49 CEST 2008


Does this do what you want:

> x <- matrix(1:25,5)
> 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
> write.table(x, na="", row.names=FALSE, col.names=FALSE)
1
2 7
3 8 13
4 9 14 19
5 10 15 20 25
>


On Fri, Jul 25, 2008 at 8:30 AM, pgseye <prseye at gmail.com> wrote:
>
> Thanks Jim,
>
> The morphometry software I mentioned outputs distance matrices in the
> format:
>
> 0.0000
> 7.1598 0.0000
> 8.7241 8.3506 0.0000
> 9.5217 7.2457 2.5642 0.0000
>
> I would have liked to write to a file the same type of matrix in R, to
> ensure the same data format. Mantel for Windows is optimally setup to take
> this type of matrix.
>
> Thanks
>
>
>
>
> jholtman wrote:
>>
>> How do you want the lower half written out?  can you give us an
>> example of the input matrix and then what you would expect to see on
>> the output.  Is it still a matrix with the upper half set to zero/NA?
>> Do you want it as a vector?  What is the other program expecting as
>> input?
>>
>> You need to provide more information so that we can provide suggestions.
>>
>> On Fri, Jul 25, 2008 at 7:03 AM, pgseye <prseye at gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> I'm very new to R. I want to know if there is any way to write only the
>>> lower half of a distance matrix created in R to a csv file for example.
>>> I
>>> get the 'cannot coerce class "dist" into a data.frame' message when I
>>> try.
>>> I have used as.matrix and can write to a file this way, but as a full
>>> matrix.
>>>
>>> The reason I only want the lower half is that I've been doing some Mantel
>>> correlations with distance matrices (of Procrustes distances) generated
>>> by
>>> other (geometric morphometric) software that are in this format. However,
>>> I'm needing to use an alternative such as R to calculate distance
>>> matrices
>>> of Fourier coefficients which the other software can't do.  So far, the
>>> Mantel correlations calculated from these two matrices (with R and also
>>> another software (Mantel for Windows)) are slightly different (when they
>>> should be exactly the same) and I'm wondering whether it's because the
>>> input
>>> format is different (ie one full, one half).
>>>
>>> Thanks,
>>>
>>> Paul
>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Write-lower-half-of-distance-matrix-only-tp18649556p18649556.html
>>> Sent from the R help mailing list archive at Nabble.com.
>>>
>>> ______________________________________________
>>> 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?
>>
>> ______________________________________________
>> 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.
>>
>>
>
> --
> View this message in context: http://www.nabble.com/Write-lower-half-of-distance-matrix-only-tp18649556p18650794.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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?



More information about the R-help mailing list