On 11/29/05 7:47 AM, "Robert" <[EMAIL PROTECTED]> wrote:

> 
> 
> Sean Davis <[EMAIL PROTECTED]> wrote:
> 
> On 11/29/05 7:42 AM, "Robert" wrote:
> 
>> 
>> 
>> Sean Davis wrote:
>> 
>> On 11/29/05 6:46 AM, "Robert" wrote:
>> 
>>> I run the following code and got a wrong message. Anyway to transform test1
>>> to
>>> a 6 by 6 matrix? many thanks!
>>>> test1
>>> 1 2 3 4 5 6
>>> 1 0.0000000 0.7760856 2.022222 0.6148687 3.0227028 3.2104434
>>> 2 0.7760856 0.0000000 1.690790 0.2424415 2.3636083 2.5334957
>>> 3 2.0222216 1.6907899 0.000000 1.5939158 1.5126344 1.7304217
>>> 4 0.6148687 0.2424415 1.593916 0.0000000 2.4265906 2.6085845
>>> 5 3.0227028 2.3636083 1.512634 2.4265906 0.0000000 0.2184739
>>> 6 3.2104434 2.5334957 1.730422 2.6085845 0.2184739 0.0000000
>>>> tryD=matrix(data = test1, nrow = 6, ncol = 6)
>>> Warning message:
>>> Replacement length not a multiple of the elements to replace in matrix(...)
>> 
>> What is test1? Try:
>> 
>> tryD <- as.matrix(test1)
>> 
>> Does that do it?
>> 
>> Sean
>> 
>> 
>> 
>> 
>> It works if I use tryD <- as.matrix(test1).
>> But why tryD=matrix(data = test1, nrow = 6, ncol = 6) wrong?
> 
> What is test1? What are the results of:
> 
> class(test1)
> dim(test1)
> 
> Sean
> 
> 
> 
> 
> 
>> class(test1)
> [1] "dist"
>> dim(test1)
> NULL

If you read the help for "dist", you will see that objects of class "dist"
have some other information besides the matrix itself (which is actually
stored in upper triangular form only, I believe.  So, while the "show"
method for "dist" objects shows the matrix, it isn't really a matrix in
memory, but a "dist" object.  There happens to be a coercion function to go
from "dist" to "matrix" which is why the as.matrix method works.

Sean

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to