Re: [R-es] función par dentro de bucles, representar gráficas en bucle

2015-11-10 Por tema Carlos Ortega
Hola,

Como estás usando el paquete "lattice" la función para parametrizar el área
gráfica no es "par()".
Tienes que hacerlo como se comenta aquí:

http://www.quantumforest.com/2011/10/setting-plots-side-by-side/

Y lo que puedes hacer es llamar a una función "png()", "jpeg()"... para
guardar el gráfico en cada iteración.
Y a la hora de guardar decir que haga un append al fichero existente. Así
tendrás en un único fichero todas las parejas una tras otra.

Por otro lado, porqué no pintas todas juntas vía la función "splom()" de
"lattice".

Saludos,
Carlos Ortega
www.qualiytexcellence.es

El 10 de noviembre de 2015, 10:55, Albert Montolio <
albert.monto...@gmail.com> escribió:

> Hola chic@s,
>
> querría construir mi primera función, y tengo una duda respecto al comando
> par( mfrow =c(3,3)). Primero de todo, tengo una tabla con 10 variables,
> para cada variable, unos 145 datos. Quiero representar para cada variable
> su gráfica de dispersión respecto a las demás. Es decir, coger la primera
> variable y la segunda, y hacer gráfica, coger la primera variable y la
> tercera, y hacer gráfica, y así hasta acabar con la primera variable, y
> coger la segunda, y lo mismo. Coger la segunda variable y la tercera, y
> gráfica, coger la segunda variable y la cuarta, y gráfica. Quiero hacer una
> función con dos whiles, para automatizar el proceso. El problema radica en
> el comando par( mfrow =c(3,3)).
>
> Tal y como lo conozco, se escribirlo, y después colocar dos gráficas, por
> ejemplo
>
> par( mfrow =c(2,1)).
> indexplot bla bla bla
> indexplot bla bla bla.
>
> Pero ahora con el while, no puedo poner "dos" gráficas, sinó que es un
> bucle. Entonces no se si para mi caso tengo que utilizar el comando par y
> adaptarlo un poco, o con el comando par no puedo hacer lo que yo quiero y
> hay otro comando en R que desconzco.
>
> Os adjunto el codigo base que he pensado (tengo que pensar aun los
> argumentos y que resultado poner, porque el resultado seria la
> representación de las gráficas, así que tampoco lo tengo muy claro)
>
> Muchas gracias!
>
>
>
>
>
> //PAC2
> sudo R
> library(Rcmdr)
> setwd("/home/albert/Documentos/UOC/PAC2/R")
> dir()
> wb <- read.table("Dades_PAC1Des96_Des08_PUNTS.csv", header=T, as.is=T,
> sep=",")
> head(wb)
> tail(wb)
>
> genGraphics <- function(arguments){
>
> i=1
> j=2
>
>   while i<=10 {
>
>   while j<=10 {
>
> par( mfrow =c(3,3))??
> xyplot(wb[i] ~ wb[j], type="p", pch=16,
> auto.key=list(border=TRUE),
> par.settings=simpleTheme(pch=16),
> scales=list(x=list(relation='sliced'),
> y=list(relation='sliced')),
> data=comma)
> j=j+1
> }
>   i=i+1
>
>   }
>
> return(resultat)
> }
>
>
> --
>
>
> *Albert Montolio Aguado*
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] función par dentro de bucles, representar gráficas en bucle

2015-11-10 Por tema Albert Montolio
Al final me he decidido por la libreria (lattice), aunque las dos son
parecidas.

He implementado este trozo de código:

*-
//PAC2
sudo R
library(Rcmdr)
library(lattice)
data(mtcars)

setwd("/home/albert/Documentos/UOC/PAC2/R")
dir()

wb <- read.table("Dades_PAC1Des96_Des08_PUNTS.csv", header=T, as.is=T,
sep=",")
head(wb)
tail(wb)

i=1
j=2
t=1

while i<=10 {

  while j<=10 {
p[i,t] = xyplot(wb[i] ~ wb[j], type="p", pch=16,
auto.key=list(border=TRUE),
par.settings=simpleTheme(pch=16),
scales=list(x=list(relation='sliced'),
y=list(relation='sliced')),
data=comma)
j=j+1
t=t+1
  }
  i=i+1
}

print(p[1,1], position = c(0, 0, 0.5, 1), more = TRUE)
print(p[1,2] position = c(0.5, 0, 1, 1))
print(p[2,3], position = c(0.5, 0, 1, 1))
*-

He ido guardando las gráficas en una tabla p. Como puedo llamar a los
componentes de la tabla? si pongo p[1,1] o lo que sea no me hace nada.



El 10 de noviembre de 2015, 12:36, Reverté Calvet, Gerard <
greve...@ajmataro.cat> escribió:

> Puedes usar la función pairs(datos), o también ggpairs (datos) del paquete
> GGally. Más fácil y rápido.
>
>
>
>
>
> Gerard Reverté
>
>
>
> *De:* R-help-es [mailto:r-help-es-boun...@r-project.org] *En nombre de *Albert
> Montolio
> *Enviado el:* martes, 10 de noviembre de 2015 10:55
> *Para:* R-help-es@r-project.org
> *Asunto:* [R-es] función par dentro de bucles, representar gráficas en
> bucle
>
>
>
> Hola chic@s,
>
> querría construir mi primera función, y tengo una duda respecto al comando
> par( mfrow =c(3,3)). Primero de todo, tengo una tabla con 10 variables,
> para cada variable, unos 145 datos. Quiero representar para cada variable
> su gráfica de dispersión respecto a las demás. Es decir, coger la primera
> variable y la segunda, y hacer gráfica, coger la primera variable y la
> tercera, y hacer gráfica, y así hasta acabar con la primera variable, y
> coger la segunda, y lo mismo. Coger la segunda variable y la tercera, y
> gráfica, coger la segunda variable y la cuarta, y gráfica. Quiero hacer una
> función con dos whiles, para automatizar el proceso. El problema radica en
> el comando par( mfrow =c(3,3)).
>
> Tal y como lo conozco, se escribirlo, y después colocar dos gráficas, por
> ejemplo
>
> par( mfrow =c(2,1)).
>
> indexplot bla bla bla
>
> indexplot bla bla bla.
>
> Pero ahora con el while, no puedo poner "dos" gráficas, sinó que es un
> bucle. Entonces no se si para mi caso tengo que utilizar el comando par y
> adaptarlo un poco, o con el comando par no puedo hacer lo que yo quiero y
> hay otro comando en R que desconzco.
>
> Os adjunto el codigo base que he pensado (tengo que pensar aun los
> argumentos y que resultado poner, porque el resultado seria la
> representación de las gráficas, así que tampoco lo tengo muy claro)
>
> Muchas gracias!
>
>
>
>
>
>
> //PAC2
> sudo R
> library(Rcmdr)
> setwd("/home/albert/Documentos/UOC/PAC2/R")
> dir()
> wb <- read.table("Dades_PAC1Des96_Des08_PUNTS.csv", header=T, as.is=T,
> sep=",")
> head(wb)
> tail(wb)
>
> genGraphics <- function(arguments){
>
> i=1
> j=2
>
>   while i<=10 {
>
>   while j<=10 {
>
> par( mfrow =c(3,3))??
> xyplot(wb[i] ~ wb[j], type="p", pch=16,
> auto.key=list(border=TRUE),
> par.settings=simpleTheme(pch=16),
> scales=list(x=list(relation='sliced'),
> y=list(relation='sliced')),
> data=comma)
> j=j+1
> }
>   i=i+1
>
>   }
>
> return(resultat)
> }
>
>
> --
>
>
>
>
>
> *Albert Montolio Aguado*
>
>
>
> *Avís legal/Aviso legal*
> La present informació s'envia únicament a la persona a la que va dirigida
> i pot contenir informació privilegiada o de caràcter confidencial.
> Qualsevol modificació, retransmissió, difusió o altre ús d'aquesta
> informació per persones o entitats diferents a la persona a la que va
> dirigida està prohibida. Si vostè l'ha rebut per error, si us plau contacti
> amb el remitent i esborri el missatge de qualsevol ordinador. En el cas que
> aquest missatge vagi a ser contestat per la mateixa via, ha de saber-se que
> la seva resposta podria ser coneguda per tercers a l'entrar a la xarxa. Per
> això, si el missatge inclou contrasenyes, números de targetes de crèdit o
> qualsevol altra informació que vostè consideri confidencial, seria més
> segur contestar per una altra via i cancel·lar la seva transmissió.
> L'Ajuntament de Mataró i els seus organismes dependents no poden assumir la
> responsabilitat derivada del fet de què terceres persones puguin arribar