[R] matrix indexing (igraph ?)
Gábor Csárdi
csardi at rmki.kfki.hu
Thu Aug 18 12:44:07 CEST 2011
This is not an igraph issue, I believe. You need to go over your
indices and update the matrix, i.e.
for (i in seq_along(t.list)) { temp[t.list[i], c.list[i]] <-
temp[t.list[i], c.list[i]] + 1 }
Best,
Gabor
On Tue, Aug 2, 2011 at 4:50 PM, Robinson, David G <drobin at sandia.gov> wrote:
> I realize that matrix indexing has been addressed in various flavors, but I'm stumped and didn't find anything in the archives. It's not clear if it is an igraph issue or a more general problem. Thanks in advance for your patience.
>
> I am using igraph to read a gml file (http://www-personal.umich.edu/~mejn/netdata/football.zip
> ). The gml file contains vertex attributes (conference and team) that are provided as character/integer values.
>
> I would like to build a matrix of dimension (length.team, length.conference) where the elements are zero except for 1's at the location of index [team, conference].
>
> Here is a snippet of code that hopefully captures what I am trying to do:
>
> original<-read.graph("./Data/football/football.gml", format="gml")
> conf.list<- get.vertex.attribute(original, 'value', index=V(original))+1
> team.list<- get.vertex.attribute(original, 'id', index=V(original))+1
> temp<- matrix(0,115,12)
> temp[team.list, conf.list]<-1
>
> Unfortunately, temp[] is filled with 1's.
>
> However, if I try:
> c.list=c(1,3,5)
> t.list=c(2,4,6)
> temp[t.list,c.list]<-1
>
> then things work as I would expect. FWIW - I have tried as.integer(get.vertex.attribute(...)) with no luck.
>
> Thanks for any suggestions.
>
>
>
>
> *****************************************************
>> original<-read.graph("./Data/football/football.gml", format="gml")
>> conf.list<- get.vertex.attribute(original, 'value', index=V(original))+1
>> team.list<- get.vertex.attribute(original, 'id', index=V(original))+1
>> conf.list
> [1] 8 1 3 4 8 4 3 9 9 8 4 11 7 3 7 3 8 10 7 2 10 9 9 8 11 1 7 10 12 2 2 7 3 1 7 2 6
> [38] 1 7 3 4 8 6 7 5 1 12 3 5 12 11 9 4 12 7 2 10 5 12 11 3 7 10 11 3 10 5 12 9 11 10 7 4 12
> [75] 4 5 10 9 9 2 6 4 6 12 4 7 5 10 12 1 6 5 5 8 2 10 10 11 4 7 3 2 4 1 8 1 3 4 9 1 5
> [112] 9 5 10 12
>> team.list
> [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
> [28] 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
> [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
> [82] 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
> [109] 109 110 111 112 113 114 115
>> length(conf.list)
> [1] 115
>> length(team.list)
> [1] 115
>> temp<- matrix(0,115,12)
>> r<-c(1,3,5)
>> col<- c(2,4,6)
>> temp[r,col]<-1
>> temp[1:10,]
> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
> [1,] 0 1 0 1 0 1 0 0 0 0 0 0
> [2,] 0 0 0 0 0 0 0 0 0 0 0 0
> [3,] 0 1 0 1 0 1 0 0 0 0 0 0
> [4,] 0 0 0 0 0 0 0 0 0 0 0 0
> [5,] 0 1 0 1 0 1 0 0 0 0 0 0
> [6,] 0 0 0 0 0 0 0 0 0 0 0 0
> [7,] 0 0 0 0 0 0 0 0 0 0 0 0
> [8,] 0 0 0 0 0 0 0 0 0 0 0 0
> [9,] 0 0 0 0 0 0 0 0 0 0 0 0
> [10,] 0 0 0 0 0 0 0 0 0 0 0 0
>> temp[team.list,conf.list]<- 1
>> temp[1:10,]
> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
> [1,] 1 1 1 1 1 1 1 1 1 1 1 1
> [2,] 1 1 1 1 1 1 1 1 1 1 1 1
> [3,] 1 1 1 1 1 1 1 1 1 1 1 1
> [4,] 1 1 1 1 1 1 1 1 1 1 1 1
> [5,] 1 1 1 1 1 1 1 1 1 1 1 1
> [6,] 1 1 1 1 1 1 1 1 1 1 1 1
> [7,] 1 1 1 1 1 1 1 1 1 1 1 1
> [8,] 1 1 1 1 1 1 1 1 1 1 1 1
> [9,] 1 1 1 1 1 1 1 1 1 1 1 1
> [10,] 1 1 1 1 1 1 1 1 1 1 1 1
>>
>> ---------------------------------------------
>
> [[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 <csardi at rmki.kfki.hu> MTA KFKI RMKI
More information about the R-help
mailing list