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.galili@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.Galili@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.diamondash@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 <jorismeys@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.diamondash@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.Meys@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

	[[alternative HTML version deleted]]

