[R-es] T4 templates R

Francisco Viciana franciscoj.viciana en juntadeandalucia.es
Lun Ene 4 10:01:54 CET 2016


Una alternativa que creo  resuelve la cuestión es mediante un 
"precompilador", como "gcc -E" o cualquier otro, incluyendo irectiva 
#include y  #define para la parametrización del código. Si embargo me 
parece una solución un tanto barroca, yo intentaría parametrizarlo 
usando código R puro.


Fran

On 03/01/16 20:10, Carlos Ortega wrote:
> Hola,
>
> "sed" está también en Windows:
> http://gnuwin32.sourceforge.net/packages/sed.htm
> Y si se quiere ir un poco más lejos, basta con instalarse Cygwin:
> https://www.cygwin.com/ y así tener un Linux conviviendo con Windows (no es
> necearia ninguna partición), con sed, awk/gawk, y otras alternativas...
>
> Y dependiendo de la complejidad de lo que quieras hacer, puedes hasta
> generar codigo "R" dentro de R y luego ejecutarlo sin salirte de la misma
> sesión, a través de la función "eval()":
>
> http://stackoverflow.com/questions/1743698/r-eval-expression
> http://stackoverflow.com/questions/18886015/evalparsetext-x-inside-a-function-how-to-evaluate-in-global-environment
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
> El 2 de enero de 2016, 21:27, Javier Marcuzzi <
> javier.ruben.marcuzzi en gmail.com> escribió:
>
>> Estimado Carlos Ortega
>>
>>
>>
>> Podría ser sh, pero creo awk (gawk), están para todos los sistemas, awk
>> llegó  a mi por un software de genética que lo utilizaba para colocar los
>> resultados a cada individuo, por decirlo de alguna forma. Pero reformulando
>> mi pregunta y mezclándola con su respuesta, fit <- lm (y ~ …….., data =
>> misdatos), suponiendo que mis datos tiene columnas A,B,C,D, …,
>>
>> Una especie de plantilla que cree
>>
>> Fit <- lm( Y+ a, data=misdatos)
>>
>> Fit <- lm( Y+ a+b, data=misdatos)
>>
>> Fit <- lm( Y+ a+b+c, data=misdatos)
>>
>> Fit <- lm( Y+ b+c, data=misdatos)
>>
>> Fit <- lm( Y+ c, data=misdatos)
>>
>>
>>
>> Las diferentes combinaciones para todos los modelos posible, algunos
>> ilógicos en la realidad pero estadísticamente posibles. Con un poco de
>> trabajo esto no sería complicado, pero posiblemente hay alguna persona
>> desarrolló facilitando la edición de código.
>>
>>
>>
>> Javier Rubén Marcuzzi
>>
>>
>> *De: *Carlos Ortega <cof en qualityexcellence.es>
>> *Enviado: *sábado, 2 de enero de 2016 17:02
>> *Para: *Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com>
>> *CC: *r-help-es en r-project.org
>> *Asunto: *Re: [R-es] T4 templates R
>>
>>
>>
>> Hola,
>>
>> En Linux, Mac puedes hacerlo de una forma bastante directa.
>>
>>     - Por un lado tienes tus ficheros que son las plantillas con el código
>>     R donde los campos a cambiar los tienes bien identificados.
>>     - Y por otro tienes un programa que altera estas plantillas y que
>>     genera los "*.R"
>>
>> Un ejemplo podría ser este.
>>
>> A) El fichero con la plantilla:
>>
>> #-------Plantilla en el fichero: ModeloLineal.plantilla
>>
>> mysDatos <- read.table("FILEDATOS.csv", header=T, as.is=T, sep=";")
>>
>> fit <- lm( y ~. , data=mysDatos)
>>
>> summary(fit)
>>
>> #--------------------------------
>>
>> B) Y este sería el fichero con que modificaría la plantilla anterior para
>> generar el ".R". Este  fichero en entornos Linux, Unix, Mac simplemente los
>> ejecutarías como un shell script.
>>
>>
>>
>> #!/bin/sh
>>
>> sed s/FILEDATOS/mi_nombre_fichero/g ModeloLineal.plantilla > ModeloLineal.R
>>
>>
>>
>> (el caso del ejemplo exige que tu fichero de datos tenga como nombre de la
>> columna de la variable a modelar "y", también exigiría que tu fichero
>> estuviera en formato ".csv".
>>
>>
>>
>> Saludos,
>>
>> Carlos Ortega
>>
>> www.qualityexcellence.es
>>
>>
>>
>> El 1 de enero de 2016, 22:34, Javier Marcuzzi <
>> javier.ruben.marcuzzi en gmail.com> escribió:
>>
>>
>> Estimados
>>
>> Buen 2016, año nuevo cosas nuevas, estoy leyendo un librito de unas 200
>> páginas sobre T4, básicamente crea plantillas y se puede colocar dentro de
>> ellas el código, por ejemplo por cada elemento de la lista realizar lo
>> siguiente (if, sum, lm ...).
>>
>> Es  mucho más fácil ver un video (por suerte o por malo forma parte de
>> visual studio), desconozco si en R hay algo semejante, pero mi pregunta va
>> por lo siguiente, ¿Qué pasa si preparo una serie de análisis en R, dejando
>> las variables a llenar? Me refiero a crear una plantilla de códigos R,
>> luego se ejecuta esta plantilla con los datos, generando la colección de
>> análisis de R, que posteriormente ejecuta R.
>>
>> En otras palabras seria como Sweave, que en lugar de generar latex genera
>> R.
>>
>> Javier Rubén Marcuzzi
>>
>>          [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>>
>>
>>
>> --
>>
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
>>
>>
>
>

-- 
+--------------------------------------------------------------
| Francisco J. Viciana Fernández
| Coordinador del Registro de Población
| Servicio de Estadísticas Demográficas y Sociales
| Instituto de Estadística y Cartografía de Andalucía
| Leonardo Da Vinci, nº 21. Isla de La Cartuja.
| 41071 SEVILLA.
| franciscoj.viciana en juntadeandalucia.es
| Tlf.: +(34) 95 503 38 21
+--------------------------------------------------------------



Más información sobre la lista de distribución R-help-es