Recent Updates Toggle Comment Threads | Keyboard Shortcuts

  • felixschoenbrodt 3:18 pm on August 23, 2010 Permalink | Reply

    TripleR round-up 

    GSoC 2010 is over – here’s the harvest from my project:

    TripleR 0.4.3 is the current stable version – and it is a major milestone in its development. Now for the first time social relations round robin designs can be analyzed in R. All results have been cross-checked with TripleR’s DOS predecessor SOREMO.exe, and all results are identical. Currently, we’re working on simulations about missing values in RR-designs. The results look very promising, nonetheless, the active development of TripleR will continue after GSoC.

    During the project I changed the repository from R-Forge to RForge – Simon (who runs the latter) is very helpful and responsive. I really appreciated that.

    Bug fixing and a proper documentation took much more time than I’ve planned – maybe that’s a hint for future GSoC students. These steps (in particular the documentation) really take their time.

    Overall, GSoC 2010 was a good experience for me. I was happy to have the funding to complete this project.

    Finally, I want to thank my mentor, Stefan, and Dirk for organizing everything!

    Project: TripleR – Social Relations Analyses in R
    Student: Felix Schönbrodt, LMU Munich, Germany
    Mentor: Stefan Schmukle, University of Münster

    • znmeb 6:43 am on October 2, 2010 Permalink | Reply

      Can this be installed by adding the RForge repository in “install.packages()”?

      • felixschoenbrodt 10:13 am on October 7, 2010 Permalink | Reply


        you can either install the developer version with install.packages(‘TripleR’, repos=’’). Or, if you drop the repos-argument: install.packages(‘TripleR’), you can install the latest stable version from CRAN (which I highly recommend ;-)


  • chillu 7:20 pm on August 20, 2010 Permalink | Reply  

    Automatic Differentiation in R 

    project outcomes
    radx: forward automatic differentiation in R
    tada: templated automatic differentiation in C++

    development summary
    During the summer of 2010, under the Google Summer of Code program,
    I was assigned the project of implementing an engine for Automatic
    Differentiation in R. The implementation involved building a fully
    functional system for computing numerical derivatives (specifically
    of the first and second degrees — jacobian and hessian matrices)
    in an efficient manner. Numerical derivatives are extremely useful in
    optimization. For example, Newton’s method for unconstrained optimization
    requires both the hessian and the gradient of the objective function
    and an efficient method to solve the resulting linear system Hx = -g,
    usually a preconditioned conjugate gradient method.

    Before the mid-term deadline, I had completed the most of the features
    that are part of radx as of now. This includes univariate and multivariate
    differentiation of vector functions. Computation of first and higher
    order pure and partial derivatives are carried out through univariate
    Taylor propagation and exact interpolation. Please see documentation
    for references and technical material. Also are included a handful of
    demos that illustrate what radx can do. Functionally radx has fulfilled
    most of the goals that it set out to achieve, except for the support
    for reverse mode automatic differentiation.

    Post mid-term, according to the timeline I had set for myself, I
    was to build the reverse mode differentiation in radx. While easy on
    paper this involved, however, the building of a computational tracer
    within R. As I had no previous experience with building such tracers,
    I chose to instead use my time to build a more powerful backend for
    the automatic differentiation engine using C++ for performance and
    flexibility. Technically, while this counts as missing functionality,
    it is not as serious as one might think as derivatives can still
    be computed using the existing forward mode engine within radx. The
    difficulty arises only when we require the computation of gradients
    for functions that have lot of independent variables. Unfortunately,
    however, most real world problems involve such kind of functions and
    computing their sensitivities to the independent variables accurately
    and quickly is important. Although this hasn’t been done thus far, it
    is expected that tada will be fully interfaced with radx so that radx
    will use the computational kernels inside of tada to compute derivatives.

    tada is now a fast and extensible AD engine written in C++ that can
    compute derivatives using a great many scalar types. While building
    a fast and correct system tada has been built with an emphasis on
    loose coupling between the derivative algorithms and the actual data
    types that it uses to compute the derivatives. This has enabled the
    computation using a great many scalar types like arbitrary precision
    floats, complex numbers and even rational numbers for exact results
    (provided operations involve only non-transcendental functions). Support
    for interval arithmetic is an important missing feature and it’s inclusion
    is on the cards. Correctness of every propagation step in the univariate
    Taylor propagation algorithm has been checked by cross checking results
    with the symbolic differentiation program, SymPy in unit tests written
    with CPPUnit.

    tada is expected to be actively developed even past the end of the GSoC
    program to continue adding features, building on its strong support for
    varied data types. The development summary and future for tada can be
    seen in the TODO file in the included folder.

    mentor: Prof. John Nash
    student: Chidambaram Annamalai

    You can follow development of the projects here:

  • Tal Galili 9:59 pm on August 4, 2010 Permalink | Reply  

    ggplot2 gui: Major feature set complete 

    (Written by Ian Fellows)

    There has been quite a bit of progress on the ggplot2 graphical user interface since the last post. All of the major features have been implemented, and are outlined in the vlog links below. What remains is to fix bugs, improve interface elements, and listen to feedback from users (that’s you). Please give it a try by installing the development version of Deducer
    install.packages(“Deducer”,,”“,type=”source”) . It is best used with the R console JGR which you can find at .

    Feature tour:

    Development and extension:


    • mateusz 6:40 am on December 11, 2010 Permalink | Reply

      I thought I will report bugs for Deducer but
      1) I cannot find bugzilla or any system where I could report bugs
      2) Too many crashes to convince me to be using this product even for testing…

  • rundel 6:05 am on July 27, 2010 Permalink | Reply  

    rgeos – Update 

    So I have been remiss in posting updates of progress on rgeos as my summer has gotten busier but the project is progressing smoothly and everything is on schedule. We have just recently passed an important personal milestone, parsing and running of all the JTS unit tests are now working and the rgeos code passes all but a handful of tests. (Failing tests appear mostly to do with issues surrounding dimension collapse which, I do not believe, is currently handled by geos). We are nearly feature complete and will now be focusing on testing and writing up documentation / examples.

    Below are a couple of examples that came up as answers to questions posted to the R-sig-geo mailing list. Note that the naming convention of the geos functions has changed to use a single g (for geos) as a prefix instead of using the awkward RGEOS per Hadley’s earlier suggestion. Old function names are retained for the time being but will throw a depricated warning.

    Pruning a Delaunay tessalation using a polygon:

    #bounding polygon
    bound <- SpatialPolygons(list(Polygons(list(Polygon(cbind( 
    x=c(0.34063939, 0.56754974, 0.95361248, 0.96464284, 0.60694389, 
    0.58173163, 0.58330740, 0.91421832, 1.00403700, 0.96464284, 
    0.50294332, 0.39263968, 0.22560845, 0.02548613, 0.25397225, 
    -0.01233226, 0.34063939), 
    y=c(1.02171515, 0.70486571, 0.92207697, 0.84834471, 0.62116963, 
    0.53747356, 0.47569788, 0.35812482, 0.02134774, -0.07231216, 
    0.15287015, 0.14489909, -0.03444965, 0.09707276, 0.56138672, 
    0.58729265, 1.02171515) ) )),ID="bound"))) 
    # points that form the basis of the Delaunay tessalation
    dat <- data.frame( 
    x=c(0.34433527, 0.08592805, 0.55564179, 0.03938242, 0.98044051, 
    0.19835405, 0.94186612, 0.56208017, 0.31093811, 0.54341230, 
    0.93508703, 0.38160473, 0.89435383, 0.55457428, 0.22406338), 
    y=c(0.997803213, 0.094993232, 0.509774611, 0.615526709, 0.004314438, 
    0.676662461, 0.026060349, 0.165807011, 0.596449068, 0.469553704, 
    0.888788079, 0.163129754, 0.340335312, 0.621845245, 0.019412254) 
    dat.nb = tri2nb(dat) 
    filternb = function(nb, coords, bound) { 
            sl = nb2lines(nb,as.list(rep(NA,length(nb))), coords) 
            # any line that crosses the polygon should be removed
            for(i in 1:length(nb)) { 
                    l = length(nb[[i]]) 
                    nb[[i]] = nb[[i]][ out[k:(k+l-1)] ] 
    }  = filternb(dat.nb, dat, bound) 

    IDing polygons containing points:

    This can be done with existing functions in sp (see the overlay function) but this is how you could do it with rgeos. (I just realized that this is pretty much exactly the same as the cities example from my last post)

    gt <- GridTopology(c(0.05,0.05), c(.1,.1), c(10,10)) 
    grd <- SpatialGrid(gt) 
    spi <- as(grd, "SpatialPixels") 
    spol <- as(spi, "SpatialPolygons") 
    pts = SpatialPoints(cbind(x,y)) 
    ct = gContains( spol,pts,byid=c(TRUE,TRUE) ) 
    colsub = apply(ct, 2,any) 

  • Tal Galili 4:32 pm on July 15, 2010 Permalink | Reply  

    ggplot2 GSOC progress 

    (Written by Ian Fellows)

    The RForge build error has been fixed. the package can now be tried with: install.packages("Deducer",,"",type="source")

  • Tal Galili 7:54 am on July 15, 2010 Permalink | Reply  

    ggplot2 GSOC progress 

    (Written by Ian Fellows)

    The next installment of the vlog is here. All of ggplot2 has been implemented, including layers, scales, facets, and themes. For some reason is having some troubles with my package, so you would need to build it from the java source :

    View the screen-cast here:


    • Tal Galili 8:17 am on July 15, 2010 Permalink | Reply

      Very exciting progress Ian – thank you for the great work, and for publishing it here.

  • felixschoenbrodt 8:32 am on July 9, 2010 Permalink | Reply

    TripleR/ BlockR: Working on mixed effect models … 

    At the moment I’m working on the implementation of full block designs (e.g., every member of group A rates each member from group and vice versa. A typical example is speed dating: every man rates each woman and vice versa).

    These designs can be analyzed with mixed effect models, and now I’m a bit confused whether I should use lme4 or lme4a …

  • Tal Galili 7:58 pm on July 8, 2010 Permalink | Reply
    Tags: general   

    Just updated the list about the new blog design and purpose. Hope it will prove useful.

  • Tal Galili 8:53 am on July 8, 2010 Permalink | Reply  

    ggplot2 GSOC progress 

    Progress on the ggplot2 user interface is coming along. Please check out this VLOG which will give a good idea of where I currently am in the process.

    As always comments and suggestions are welcome. If you would like to try it out yourself, you can install the development version of Deducer using install.packages("Deducer",,"",type="source") .

    Most of the coding done in the last two weeks has been related to the back end, and so I’ll be spending the majority of the next two weeks working on the front end to implement scales, coords and themes.

    Ian Fellows

  • Tal Galili 6:58 pm on June 19, 2010 Permalink | Reply  

    ggplot2 GUI progress 

    (Written by Ian Fellows)

    Below is a link to the first of a weekly (or bi-weekly) screen-cast vlog of my progress building a GUI for the ggplot2 package.

    comments and suggestions are more than welcome, and can e-mailed to me at:

    • Duleep Kumar Samuel 4:36 am on June 21, 2010 Permalink | Reply

      ggplot2 GUI is beautiful, thanks, I have a request, can you also integrate a Design of Experiment module, like designs for ANOVA, ANCOVA, Factorials, Latin Square ,Strip plots etc. This module can help in randomization and in analysis of filed data, and integrate with the beautiful graphs, (I do a lot of field work and that’s why) thanks Samuel, Bangalore India

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc

Get every new post delivered to your Inbox.