errr, forget about the output of dput(q), but keep it in mind for next time.

f = dist(t(q))
hclust(f,method="single")

it's as simple as that.
Cheers
Joris

On Fri, May 28, 2010 at 10:39 PM, Ayesha Khan
<ayesha.diamond...@gmail.com>wrote:

> v <- dput(x,"sampledata.txt")
> dim(v)
> q <- v[1:10,1:10]
> f =as.matrix(dist(t(q)))
>
> distB=NULL
> for(k in 1:(nrow(f)-1)) for( m in (k+1):ncol(f)) {
> if(f[k,m] <2) distB=rbind(distB,c(k,m,f[k,m]))
> }
> #now distB looks like this
>
> > distB
>       [,1] [,2]      [,3]
>  [1,]    1    2  1.6275568
>  [2,]    1    3  0.5252058
>  [3,]    1    4  0.7323116
>  [4,]    1    5  1 .9966001
>  [5,]    1    6  1.6664110
>  [6,]    1    7  1.0800540
>  [7,]    1    8  1.8698925
>  [8,]    1   10  0.5161808
>  [9,]    2    3  1.7325811
> [10,]    2    5  0.8267843
> [11,]    2    6  0.5963280
> [12,]    2    7  0.8787230
>
> #now from this output< i want to cluster all 1's, friedns of 1 and friends
> of friends of 1 in one cluster. The same goes for 2,3 and so on
> But when i do that using hclust, i get the following error. I think what I
> need to do is convert my cureent matrix somehow into a format that would be
> accepted by the hclust function but I dont know how to achieve that.
>  distclust <- hclust(distB,method="single")
>
> Error in if (n < 2) stop("must have n >= 2 objects to cluster") :
>   argument is of length zero
>
> P.S: Please let me know if this makes things more clear? "cuz i dont know
> how looking at the original data set would help becuase the matrix under
> consdieration right now is the distance matrix and how it can be altered. I
> have tried as.dist, doesnt work because my matrix as i mentioned eralier is
> not a square matrix.
> On Fri, May 28, 2010 at 2:37 PM, Tal Galili <tal.gal...@gmail.com> wrote:
>
>> Hi Ayesha,
>> I wish to help you, but without a simple self contained example that shows
>> your issue, I will not be able to help.
>> Try using the ?dput command to create some simple data, and let us see
>> what you are doing.
>>
>> Best,
>> Tal
>> ----------------Contact
>> Details:-------------------------------------------------------
>> Contact me: tal.gal...@gmail.com |  972-52-7275845
>> Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) |
>> www.r-statistics.com (English)
>>
>> ----------------------------------------------------------------------------------------------
>>
>>
>>
>>
>>   On Fri, May 28, 2010 at 9:04 PM, Ayesha Khan <
>> ayesha.diamond...@gmail.com> wrote:
>>
>>> Thanks Tal & Joris!
>>> I created my distance matrix distA by using the dist() function in R
>>> manipulating my output in order to get a matrix.
>>> distA =as.matrix(dist(t(x2))) # x2 being my original dataset
>>> as according to the documentaion on dist()
>>>
>>> For the default method, a "dist" object, or a matrix (of distances) or
>>> an object which can be coerced to such a matrix using as.matrix()
>>>
>>>   On Fri, May 28, 2010 at 6:34 AM, Joris Meys <jorism...@gmail.com>wrote:
>>>
>>>> As Tal said.
>>>>
>>>> Next to that, I read that column1 (and column2?) are supposed to be seen
>>>> as factors, not as numerical variables. Did you take that into account
>>>> somehow?
>>>>
>>>> It's easy to reproduce the error code :
>>>> > n <- NULL
>>>> > if(n<2)print("This is OK")
>>>> Error in if (n < 2) print("This is OK") : argument is of length zero
>>>>
>>>> In the hclust code, you find following line :
>>>> n <- as.integer(attr(d, "Size"))
>>>> where d is the distance object entered in the hclust function. Looking
>>>> at the error you get, this means that the size attribute of your distance 
>>>> is
>>>> NULL. Which tells me that distA is not a dist-object.
>>>>
>>>> > A <- matrix(1:4,ncol=2)
>>>> > A
>>>>      [,1] [,2]
>>>> [1,]    1    3
>>>> [2,]    2    4
>>>> > hclust(A,method="single")
>>>>
>>>> Error in if (n < 2) stop("must have n >= 2 objects to cluster") :
>>>>   argument is of length zero
>>>>
>>>> Did you actually put in a distance object? see also ?dist or ?as.dist.
>>>>
>>>> Cheers
>>>> Joris
>>>>
>>>>
>>>>
>>>>
>>>>  On Fri, May 28, 2010 at 1:41 AM, Ayesha Khan <
>>>> ayesha.diamond...@gmail.com> wrote:
>>>>
>>>>>  i have a matrix with the following dimensions
>>>>> 136   3
>>>>>
>>>>> and it looks something like
>>>>>
>>>>>         [,1] [,2]     [,3]
>>>>>  [1,]  402  675 1.802758
>>>>>  [2,]  402  696 1.938902
>>>>>  [3,]  402  699 1.994253
>>>>>  [4,]  402  945 1.898619
>>>>>  [5,]  424  470 1.812857
>>>>>  [6,]  424  905 1.816345
>>>>>  [7,]  470  905 1.871252
>>>>>  [8,]  504  780 1.958191
>>>>>  [9,]  504  848 1.997111...............
>>>>>
>>>>> ................................................................................
>>>>> so you get the idea. I want to group similar items in one group/cluster
>>>>> following the "friends of friends" approach. I tried doing
>>>>>
>>>>> distclust <- hclust(distA,method="single")
>>>>> However, I got the following error.
>>>>>
>>>>> Error in if (n < 2) stop("must have n >= 2 objects to cluster") :
>>>>>  argument
>>>>> is of length zero
>>>>> which probably means there's something wrong with my input here. Is
>>>>> there
>>>>> another way of doing this kind of clustering without getting into all
>>>>> the
>>>>>  looping and ifelse etc. Basically, if 402 is close to 675,696,and699
>>>>> and
>>>>> thus fall in cluster A then all items close to 675,696,and 699 should
>>>>> also
>>>>> fall into the same cluster A following a friends of friedns strategy.
>>>>> Any help would be highly appreciated.
>>>>>
>>>>> --
>>>>> Ayesha Khan
>>>>>
>>>>> MS Bioengineering
>>>>> Dept. of Bioengineering
>>>>> Rice University, TX
>>>>>
>>>>>        [[alternative HTML version deleted]]
>>>>>
>>>>> ______________________________________________
>>>>> R-help@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<http://www.r-project.org/posting-guide.html>
>>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Joris Meys
>>>> Statistical Consultant
>>>>
>>>> Ghent University
>>>> Faculty of Bioscience Engineering
>>>> Department of Applied mathematics, biometrics and process control
>>>>
>>>> Coupure Links 653
>>>> B-9000 Gent
>>>>
>>>> tel : +32 9 264 59 87
>>>> joris.m...@ugent.be
>>>> -------------------------------
>>>> Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php
>>>>
>>>
>>>
>>>
>>> --
>>>  Ayesha Khan
>>>
>>> MS Bioengineering
>>> Dept. of Bioengineering
>>> Rice University, TX
>>>
>>
>>
>
>
> --
> Ayesha Khan
>
> MS Bioengineering
> Dept. of Bioengineering
> Rice University, TX
>



-- 
Joris Meys
Statistical Consultant

Ghent University
Faculty of Bioscience Engineering
Department of Applied mathematics, biometrics and process control

Coupure Links 653
B-9000 Gent

tel : +32 9 264 59 87
joris.m...@ugent.be
-------------------------------
Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php

        [[alternative HTML version deleted]]

______________________________________________
R-help@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.

Reply via email to