Archive | Material RSS for this section

Talleres IV Jornadas de usuarios de R

Los talleres de las IV Jornadas de usuarios de R celebradas en Barcelona, fueron grabadas gracias a los cámaras Xavi de Pedro y Esteban Vegas.

Finalmente, el mismo Xavi y yo los hemos subido a un canal de YouTube para que las personas interesadas que no pudieran asistir puedan ver los talleres.

Los talleres que se realizaron fueron los siguientes:

Espero que los videos os sean útiles .

Recordar que las V Jornadas de usuarios de R, que se organizan en Zaragoza el 12 y 13 de diciembre, ya están en marcha.

Advertisements

Exemples fàcils de Non standard evaluation

No sé si us heu fixat que hi ha funcions que cal passar arguments en cometes, a vegades sense, d’altres cal un vector i n’hi ha que amb el nom del camp ja n’hi ha prou.

Per entendre el que vull dir, amb un exemple serà més fàcil:

data(cars)

subset(cars, cars$speed < 10 & cars$dist < 10)

  speed dist
1     4    2
3     7    4


subset(cars, speed < 10 & dist < 10)

  speed dist
1     4    2
3     7    4

Tot i que en els dos casos obtenim el mateix resultat, la forma d’arribar és diferent. En el primer cas cal fer cars$ abans de cada camp i en el segon en tenim prou amb els noms dels camps. La funció subset fa ús en el segon cas de non standard evaluation. Si volem programar una funció que usa molts camps, pot ser pràctic utilitzar aquesta tècnica.

Amb aquesta entrada vull mostrar exemples simples de programar funcions que usen non standard evaluation. Cal tenir present que aquestes funcions estan pensades per a un ús interactiu. Per tant, si es volen incloure dins d’altres funcions, podrien sorgir complicacions o problemes.

Com tot exemple simple, serveix bàsicament per mostrar la potencialitat del mateix.

data(cars)

cars$var <- cars$speed * 2

evalVar <- function(dades, var) {

    nom_var <- deparse(substitute(var))
    resultat <- dades[, nom_var]
    resultat
}

evalVar(cars, speed)

 [1]  4  4  7  7  8  9 10 10 10 11 11 12 12 12 12 13 13 13 13 14 14 14 14
[24] 15 15 15 16 16 17 17 17 18 18 18 18 19 19 19 20 20 20 20 20 22 23 24
[47] 24 24 24 25

evalVar(cars, dist)

 [1]   2  10   4  22  16  10  18  26  34  17  28  14  20  24  28  26  34
[18]  34  46  26  36  60  80  20  26  54  32  40  32  40  50  42  56  76
[35]  84  36  46  68  32  48  52  56  64  66  54  70  92  93 120  85

evalCond <- function(dades, cond) {

    cond <- substitute(cond)
    resultat <- eval(cond, dades, parent.frame())
    resultat
}

evalCond(cars, speed + dist)

 [1]   6  14  11  29  24  19  28  36  44  28  39  26  32  36  40  39  47
[18]  47  59  40  50  74  94  35  41  69  48  56  49  57  67  60  74  94
[35] 102  55  65  87  52  68  72  76  84  88  77  94 116 117 144 110

evalCond(cars, speed + dist < var)

 [1]  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[12] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[23] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[34] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[45] FALSE FALSE FALSE FALSE FALSE FALSE

evalFormula <- function(dades, form) {

    form <- as.formula(form)
    lm(form, dades)

}

evalFormula(cars, speed ~ var)


Call:
lm(formula = form, data = dades)

Coefficients:
(Intercept)          var  
   4.02e-15     5.00e-01  

evalFormula(cars, speed ~ dist)


Call:
lm(formula = form, data = dades)

Coefficients:
(Intercept)         dist  
      8.284        0.166  

Consulteu la presentació del Data Tuesday

Hola usuaris! Ja podeu consultar aquí la presentació que vam preparar per la primera reunió del Data Tuesday a Barcelona. Aquesta presentació va ser feta amb R Presentations , una nova eina disponible a la versió preview d’RStudio.

Hi users! The presentation we prepared for the Barcelona Data Tuesday launch meeting is now available here. Just let you know that for this presentation we used R Presentations, a new feature available at the preview release of RStudio.

Ampliar el package amb dades, NEWS i documents

Seguint la presentació de Crear packages de forma fàcil amb RStudio i Documentar el package amb Roxygen2 acabo els vídeos de crear packages de forma fàcil amb RStudio amb Ampliar el package amb dades, NEWS i documents.

En aquest vídeo tutorial explico com afegir dades al nostre package, com informar dels canvis amb NEWS i incloure qualsevol document que considerem rellevant pel package. Com a bonus i degut al retard, afegeixo com incloure una demo.

Per tenir més detalls i totes les opcions d’ampliar els vostres packages, cal anar a la documentació de referència Writing R extensions.

Espero que amb aquests 3 vídeos quedi tot clar com per crear, documentar i ampliar els vostres packages. Si teniu algun dubte envieu-me un correu o escriviu un comentari i intentaré solucionar-ho de la millor forma possible.

Tot i que amb aquest vídeo tutorial acabo la sèrie, si més endavant utilitzo opcions que considero rellevants compartir sobre la creació de packages, potser afegeixo algun altre vídeo.

Videotutorial

Crear packages de forma fàcil amb RStudio

A la darrera reunió del Grup d’usuaris d’R de Barcelona vaig explicar com crear packages de forma fàcil amb RStudio. Com que diferents usuaris no podien venir vaig intentar gravar amb poc èxit la presentació. Finalment he decidit refer-la però la he dividit en 3 parts.

  1. Crear packages de forma fàcil amb RStudio.
  2. Documentar packages amb Roxygen2.
  3. Ampliant el package amb dades, NEWS i documents.

La primera ja està feta i pujada a YouTube perquè la pugueu mirar. Les següents ja les tinc mig preparades i en breu també les compartiré.

Espero que quedi prou clar com per animar-vos a fer els vostres packages. Si teniu algun dubte envieu-me un correu i intentaré aclarir-ho de la millor forma possible.

Enllaços d’interès:

  1. RStudio
  2. Rtools
  3. Writing R Extensions
  4. Developing Packages with RStudio
  5. Creación de paquetes con RStudio

Curs gratuit – online de iniciació a l’estadistica amb R

Desprès d’haver fet un exitòs curs d’iniciació a R, en Carlos Gil Bellosta i en Juanjo Gibaja ofereixen un curs bàsic d’estadistica amb R. Per a tots aquells que hi estigueu interessats,

http://jjgibaja.net/curso-de-introduccion-a-la-estadistica-moderna-con-el-entorno-r/

http://www.datanalytics.com/blog/2012/10/22/nuevo-curso-gratuito-de-estadistica-con-r/

i el curs http://cursorstats.usar.org.es/

Aleix Ruiz de Villa, RugBcn.

Segona sessió introducció a R – objectes bàsics

Aquí us podeu descarregar el codi que vam fer servir a la segona sessió d’aquesta “introducció a R”, en la part d’objectes bàsics.

Aleix, RUGBCN

%d bloggers like this: