Foro de debate

Automatizar procesos en R

Automatizar procesos en R

de Robert Boix -
Número de respuestas: 4
Hola,
cada cierto tiempo tengo que procesar y analizar unos datos. Las funciones que aplico a estos datos siempre son las mismas. Me gustaría saber si existe alguna forma de automatizar ésto de tal manera que introduciendo los datos me saliera TODOS los cálculos de una vez y evitar así tener que ir metiendo función por función.

Ejemplo sencillo de lo que pretendo:

> x<-c(x1,x2,....xn)

> mean(x)
> summary(x)
> y<-sqrt(x)

Pretendo:
> x<-c(z1,z2,....,xm)

funcion...... x >>>>

y me salga directamente mean(),summary() y sqrt(x)
Si existe algún manual de cómo hacerlo sería perfecto.(el caso que se pueda hacer.

Saludos






En respuesta a Robert Boix

Re: Automatizar procesos en R

de Carolina Leal -
Hola Robert, prueba con esto:

salidas=function(y) {
media=mean(y)
raiz=sqrt(y)
resumen=summary(y)
print(list(media,raiz,resumen))
}


salidas(datos)


Suerte!!

Carolina
En respuesta a Carolina Leal

Re: Automatizar procesos en R

de Robert Boix -
Hola carolina,

Siguiendo el ejemplo que me indicas lo he probado escribiendo lo siguiente:
salidas<-function(x){media=mean(x),raiz=sqrt(x),resumen=summary(x),print(list(media,raiz,resumen))}
y me sale el siguiente error:
Error: inesperado ',' en "salidas<-function(x){media=mean(x),"

En principio parece que es lo que necesito.
Sabes que es lo que puede estar mal?

Gracias por contestar.


En respuesta a Robert Boix

Re: Automatizar procesos en R

de Carolina Leal -
ya comprendí tu error,

te aconsejo leer este mensaje y el anterior, directo del foro y no desde tu correo.

observa que las instrucciones
media=mean(x)
raiz=sqrt(x)
resumen=summary(x)


NO van entre comas, sino que separadas por un espacio, o un enter.

seguramente, al copiar y pegar el mensaje aparecieron esas comas.



En respuesta a Carolina Leal

Re: Automatizar procesos en R

de Robert Boix -
correcto Carolina,

copie y pegue las instrucciones como una sola. Para que funcione correctamente hay que copiar y pegar línea por línea. Es lo que quería.

Gracias por todo.