Please stay on the list to make the archive more useful. Here is the
conclusion of the thread.
Gabor
On Sat, Dec 27, 2008 at 2:59 PM, Weijia You <weijiawx at gmail.com>
wrote:> Sorry to trouble you, but I have got the answer to this problem.
> When I turn "el <- get.edgelist(g)" to "el <-
get.edgelist(g,names=FALSE)",
> it works.
>
> Thank you very much for your help indeed!
> Enjoy your weekends!
> :)
>
> Weijia
>
>
> On Sat, Dec 27, 2008 at 9:36 PM, Weijia You <weijiawx at gmail.com>
wrote:
>>
>> Thank you for your reply.
>> But it seems that there're still some problems with the function.
>> It always says "non-numeric argument to binary operator", and
the
>> problem might be here "el[,1]+1"
>>
>> I attached the testfile I'm working on.
>> In the file I attached, first two columns are two users, for I
>> use userID to represent the users. And the third column is the weight
of the
>> edge.
>>
>> Thank you for your attention and warm help.
>> Wish you a nice weekend!
>>
>> Weijia
>>
>> ----------------------------------------info from R
>> program----------------------------
>> > library(igraph)
>> > g1 <- read.graph("test/testr",format =
"ncol", directed =TRUE)
>> > g1
>> Vertices: 25
>> Edges: 20
>> Directed: TRUE
>> Edges:
>>
>> [0] 100000 -> 112236
>> [1] 100000 -> 3058
>> [2] 100000 -> 35102
>> [3] 100000 -> 60211
>> [4] 100001 -> 19959
>> [5] 10000 -> 15205
>> [6] 10000 -> 152660
>> [7] 100002 -> 186035
>> [8] 100002 -> 3741
>> [9] 100002 -> 39770
>> [10] 100002 -> 61446
>> [11] 100002 -> 67689
>> [12] 100003 -> 25432
>> [13] 100003 -> 53184
>> [14] 10000 -> 35554
>> [15] 10000 -> 38719
>> [16] 100004 -> 178234
>> [17] 100004 -> 3058
>> [18] 100004 -> 71609
>> [19] 100004 -> 9910
>> > mixing <- function(g) {
>> + el <- get.edgelist(g)
>> + deg <- degree(g)
>> + cor(deg[el[,1]+1], deg[el[,2]+1])
>> + }
>> > mixing(g1)
>> error: el[, 2] + 1 : non-numeric argument to binary operator
>> -----------------------------------------------------------------ends
>> here---------------------------------------
>>
>> On Sat, Dec 27, 2008 at 6:36 PM, G?bor Cs?rdi <csardi at
rmki.kfki.hu> wrote:
>>>
>>> Weijia
>>>
>>> see ?degree for the degree and ?cor for the correlation. E.g.
>>>
>>> mixing <- function(g) {
>>> el <- get.edgelist(g)
>>> deg <- degree(g)
>>> cor(deg[el[,1]+1], deg[el[,2]+1])
>>> }
>>>
>>> You need to modify the degree() call to take edge direction into
account.
>>>
>>> Gabor
>>>
>>> ps. FYI, there is also an igraph missing list, in case I miss your
>>> messages on R-help and nobody else answers either.
>>>
>>> On Fri, Dec 26, 2008 at 5:48 PM, Weijia You <weijiawx at
gmail.com> wrote:
>>> > Dear colleagues,
>>> >
>>> > I'm trying to have a look at the Assortative and
Disassortative (
>>> > http://en.wikipedia.org/wiki/Assortative_mixing) of the
network I have.
>>> > But it seems that the igraph hasn't mentioned that yet.
>>> >
>>> > I have to get the in/out degree of the vertices of each edge
and
>>> > calculate
>>> > the Pearson's Correlation coefficient which seems to be
quite a huge
>>> > task
>>> > for me. :(
>>> >
>>> > So I wonder if anyone had done that before and give me some
hints on
>>> > it?
>>> >
>>> > Thank you in anticipation!
>>> >
>>> > Weijia
>>> >
>>> > [[alternative HTML version deleted]]
>>> >
>>> > ______________________________________________
>>> > 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.
>>> >
>>>
>>>
>>>
>>> --
>>> Gabor Csardi <Gabor.Csardi at unil.ch> UNIL DGM
>>
>
>
--
Gabor Csardi <Gabor.Csardi at unil.ch> UNIL DGM