[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [igraph] Need for advice
From: |
Tom Backer Johnsen |
Subject: |
Re: [igraph] Need for advice |
Date: |
Thu, 8 May 2014 22:44:03 +0200 |
Gabor
Thanks for your suggestion. I’ll have to do some thinking about the
implications, both in respect to the use of a hierarchical and nested list
structure as well as saving the data in a separate RData file. Hmm.
Definitely interesting. Thanks!
Tom
On 8. May 2014, at 17:24 , Gábor Csárdi <address@hidden> wrote:
> Hi Tom,
>
> I would create an Rdata file that contains all the data, and a function that
> you can use to retrieve the graph you want. The graphs can be in some nested
> named list, grouped by the groups, type of question, etc., in an organization
> that is most logical for you. The retrieving function could be created with
> something like this:
>
> get_graph <- (function() {
> env <- new.env()
> load("my-data-file-with-all-graphs.Rdata", envir=env)
> function(group, at, question) {
> env[["allgraphs"]][[group]][[at]][[question]] }
> })()
>
> and then you can get your desired graph via get_graph(group="foo", at=1,
> question="advice").
>
> The advantage of not using the list directly is that if you change the data
> format, file name, etc. you don't need to update the code. You can also make
> the retrieving function more flexible, e.g. to retrieve all time points for a
> question and group, etc.
>
> The advantage of the closure trick (i.e. to return a function that will
> return the data, and then call it immediately) will make sure that you only
> load the file once from the disk, and that the object itself is hidden.
>
> Best,
> Gabor
>
>
> On Thu, May 8, 2014 at 5:44 AM, Tom Backer Johnsen <address@hidden> wrote:
> Gentlepersons.
>
> I need some advice on handling a relatively large number of graphs in R.
> What I have is 128 graphs representing eight groups (each with 8 to 11
> members) at four times (repeats) where each subject was asked four types of
> questions. In addition there are 20 groups which based on the same sample,
> each with from 3 to 6 members, tested at four points in time with the same
> set of questions. So, there are 448 different graphs.
>
> It was a fairly complex matter of entering the data from the original forms
> (the data are old, collected in 1967), so I have written a program in Lazarus
> (a Pascal GUI interface) which takes care of checking and anonymization,
> where the end product is (at present) a long text file containing the graphs
> in iGraph matrix format. Other formats are possible, that is a minor matter.
> Each graph has a short descriptive name.
>
> I would prefer to use parts of iGraph (possibly other SNA packages as well)
> to analyse the structures using the R / RStudio interface. I am quite used
> to handle R, but have very limited experience with iGraph.
>
> So: Having to operate with 448 different files seems to be cumbersome, but
> of course possible. I would however prefer to have all the graphs in one
> database/file. I seem to remember having seen a reference to SQLite in this
> list, but are there better/simpler alternatives? How does one extract single
> graphs from the database? It would also be an advantage if the data base
> could be generated by the program written in Lazarus / Free Pascal and then
> accessed by R, but that transfer could be handled in several ways.
>
> Any suggestions?
>
> I am using a Mac OS X computer, where something like Wine may be installed to
> be able to run Windows programs.
>
> Tom Backer Johnsen
> Email: backer(at)psych.uib.no
>
>
> _______________________________________________
> igraph-help mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/igraph-help
>
> _______________________________________________
> igraph-help mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/igraph-help
Tom Backer Johnsen
Søndre Steinkjellersmauet 7
5003 Bergen
Mobil: +47 9169 3346
Email: backer(at)psych.uib.no