[R-es] convertir objetos con multiples listas en vector
Federico, Usa unlist(tulista) para obtener lo que necesitas. Saludos, Jorge.- Sent from my phone. Please excuse my brevity and misspelling.
On Nov 1, 2012, at 6:46 AM, federico bentos <> wrote:
Hola, tengo una duda que seguramente se resuelva facilmente. Obtuve con lapply una variable de lista que posee aprox 50000 elementos con tamaño 1, quisiera convertirla a una variable que sea de tamaño 50000, que deje de ser un lista para tener dataframe$variable con las 50000 obs.
________________________________
De: "r-help-es-request en r-project.org" <r-help-es-request en r-project.org>
Para: r-help-es en r-project.org
Enviado: miércoles, 31 de octubre de 2012 12:22
Asunto: Resumen de R-help-es, Vol 44, EnvÃo 40
EnvÃe los mensajes para la lista R-help-es a
r-help-es en r-project.org
Para subscribirse o anular su subscripción a través de la WEB
https://stat.ethz.ch/mailman/listinfo/r-help-es
O por correo electrónico, enviando un mensaje con el texto "help" en
el asunto (subject) o en el cuerpo a:
r-help-es-request en r-project.org
Puede contactar con el responsable de la lista escribiendo a:
r-help-es-owner en r-project.org
Si responde a algún contenido de este mensaje, por favor, edite la
linea del asunto (subject) para que el texto sea mas especifico que:
"Re: Contents of R-help-es digest...". Además, por favor, incluya en
la respuesta sólo aquellas partes del mensaje a las que está
respondiendo.
Asuntos del dÃa:
1. Problemas con wheezy (José Trujillo Carmona)
2. Re: Gráfico von varias variables (Mauricio Monsalvo)
3. Re: Gráfico von varias variables (Carlos Ortega)
----------------------------------------------------------------------
Message: 1
Date: Wed, 31 Oct 2012 14:04:28 +0100
From: José Trujillo Carmona <trujillo en unex.es>
To: r-help-es <r-help-es en r-project.org>
Subject: [R-es] Problemas con wheezy
Message-ID: <509121DC.8000807 en unex.es>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Tengo instalado Debian 7 Wheezy, puesto que ya esta congelada y pronto
será estable.
La instalación y mantenimiento de R lo hago desde los repositorios:
deb http://cran.es.r-project.org/bin/linux/debian squeeze-cran/
Pero llevo un tiempo con una quincena de paquetes "actualizables",
concretamente parece que toca pasar de la versión 2.15.1 a la 2.15.2;
pero hay un conflicto en las dependencias que no consigo desmadejar.
R-core intenta eliminar paquetes de los que a la vez depende y no sale
adelante ninguna acualización.
¿Alguien más tiene este problema?
------------------------------
Message: 2
Date: Wed, 31 Oct 2012 10:53:07 -0300
From: Mauricio Monsalvo <m.monsalvo en gmail.com>
To: Carlos Ortega <cof en qualityexcellence.es>
Cc: r-help-es <r-help-es en r-project.org>
Subject: Re: [R-es] Gráfico von varias variables
Message-ID:
<CAKXoZH-HEuKkN1ORynKv+Ott1JOYrcfFuaP-g8gcWvLaBF3Lbw en mail.gmail.com>
Content-Type: text/plain
Muchas gracias a todos!
Todas las soluciones me resultaron útiles. Comparto que la clave era el
add=T para la segunda barra. Me quedó pendiente ordenar el gráfico por la
lÃnea de Con12Meses (que va sobre el primer eje) y ahora noto que me faltan
las referencias. ¿Es lo mismo que ponerlas en uno? ¿Pero en cuál?
Mauricio
El 31 de octubre de 2012 06:52, Carlos Ortega
<cof en qualityexcellence.es>escribió:
Hola,
Incluyo todo el código destacando algunas mejoras que creo que añaden
coherencia a lo que se representa en cada eje, además de alguna mejora
estética.
########################################################
par(*mar=c(4,4,4,4)*, #
omi=c(0.1,0.1,0.1,0.1), #
las=1, #
mex=0.5, #
cex.lab = 1, #
cex.axis=0.7) # el tamaño de las leyendas
########################
# Barplots - Eje Primario
barplot(
caps$personas,
names.ar=caps$CAPS,
col="blue", border=F, space=.01,* axes=F, ylim=c(0,
1.20*max(caps$personas)*)
)
*axis(2, col.axis="blue") # Separo el eje para darle color azul como el
del barplot.1*
*#*par(new=T)
# crea la barra de caps$PersonasRCGV, pero cambia los ejes porque el
resultado gráfico no es
# coherente con los valores (caps$PersonasRCVG siempre es un valor menor
que caps$personas...)
barplot(caps$PersonasRCVG, axes=F, ann=F,
col="grey", border=F, space=.01, *add=T)*
#######################
# LÃneas - Eje Secundario
par(new=T)
plot(caps$Con12Meses, axes=F, ann=F, type="n")
*#*points(caps$Con12Meses,type="l",col="black") # Crea la lÃnea
paracaps$Con12Meses (por la cual quiero ordenar)
*#*points(caps$Con12Meses, pch=16, col="black")* * # agrega puntos
negros rellenos a la lÃnea
*points(caps$Con12Meses, pch=16, col="black") # Los dos pasos
anteriores los puedo hacer en uno.*
par(new=T)
plot(caps$prevalencia, axes=F, ann=F, type="n")
*axis(4, col.axis="tomato", col.lab="black" ) * #
Crea el eje secundario *y le doy color rojo como una de las lÃneas. *
*#*points(caps$prevalencia,type="l",col="red") # Crea la lÃnea
sobre el eje secundario
#points(caps$prevalencia, pch=16, col="red") # agrega puntos rojos
rellenos a la lÃnea
*points(caps$prevalencia, type="b", pch=16, col="red") **# Los dos pasos
anteriores los puedo hacer en uno.*
text(caps$prevalencia, labels=paste(caps$prevalencia), pos=3, col="red", )
# si se quiere poner la prevalencia en el gráfico.
*box()*
########################################################
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 31 de octubre de 2012 10:24, Xavi de Blas <xaviblas en gmail.com>escribió:
Perdón por el autobombo pero aquà tengo un gráfico con 4 variables que
me satisface:
http://chronojump.org/server/images/tf_by_level_sex_jumptype.png
el código está aquÃ:
http://git.gnome.org/browse/chronojump/tree/chronojump_server/r-sqlite/tf_by_level_sex_jumptype.R
A ver si te sirve. Saludos
2012/10/31 Carlos Ortega <cof en qualityexcellence.es>:
Hola,
La clave está destacada en utilizar "*add=T*" en el segundo barplot para
superponerle al primero en vez de utilizar "par(new=T)".
El destaco los cambios en tu mismo código:
par(mar=c(4,4,3,1), #
omi=c(0.1,0.1,0.1,0.1), #
las=1, #
mex=0.5, #
cex.lab = 1, #
cex.axis=0.7) # el tamaño de las leyendas
barplot(caps$personas,
names.ar=caps$CAPS,
col="blue", border=F, space=.01)
*#par(new=T)*
barplot(caps$PersonasRCVG, axes=F, ann=F, type="n",
# crea la barra de caps$PersonasRCGV, pero cambia los ejes
porque
el resultado gráfico no es
# coherente con los valores (caps$PersonasRCVG siempre es un
valor
menor que
# caps$personas...)
col="grey", border=F, space=.01*, add=T*)
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 31 de octubre de 2012 05:32, Mauricio Monsalvo
<m.monsalvo en gmail.com>escribió:
Estimados amigos,
Tengo el siguiente set de datos:
caps <- datos[datos$NombreDepartamento=="LANUS", c("CAPS", "personas",
"PersonasRCVG", "Con12Meses")]
caps$prevalencia <- round(caps$PersonasRCVG/caps$personas*100,1)
caps
CAPS personas PersonasRCVG Con12Meses prevalencia
2345 2345 1347 132 211 9.8
2363 2363 17272 1602 2320 9.3
2341 2341 1771 241 220 13.6
2361 2361 2725 371 466 13.6
2342 2342 4590 538 3615 11.7
2347 2347 16610 1678 5884 10.1
2348 2348 2961 373 883 12.6
2350 2350 8132 990 1180 12.2
2351 2351 2205 332 208 15.1
2355 2355 4059 409 548 10.1
2364 2364 5175 517 696 10.0
2349 2349 1111 158 459 14.2
2360 2360 809 127 190 15.7
2362 2362 3112 358 754 11.5
2365 2365 2522 340 271 13.5
2343 2343 12136 1112 5016 9.2
2344 2344 20956 2365 4161 11.3
2346 2346 2640 273 1062 10.3
2357 2357 3143 458 682 14.6
2358 2358 3432 337 532 9.8
2340 2340 1733 288 384 16.6
2352 2352 17358 1694 3511 9.8
2356 2356 15034 1780 10990 11.8
2359 2359 15907 1731 6464 10.9
8924 8924 639 160 103 25.0
8929 8929 734 107 66 14.6
8937 8937 2688 527 414 19.6
8932 8932 858 93 96 10.8
Y quiero graficar las 4 variables juntas. Creo que casi casi casi lo
logro,
salvo por (a) la barra de caps$PersonasRCVG, que pareciera cambia los
valores del eje Y a otra escala... creo... y (b) porque me falta
ordenar el
gráfico por la lÃnea de caps$Con12Meses (de mayor a menor).
Va mi mejor intento:
par(mar=c(4,4,3,1), #
omi=c(0.1,0.1,0.1,0.1), #
las=1, #
mex=0.5, #
cex.lab = 1, #
cex.axis=0.7) # el tamaño de las leyendas
barplot(caps$personas,
names.ar=caps$CAPS,
col="blue", border=F, space=.01)
par(new=T)
barplot(caps$PersonasRCVG, axes=F, ann=F, type="n", # crea la barra de
caps$PersonasRCGV, pero cambia los ejes porque el resultado gráfico no
es
coherente con los valores (caps$PersonasRCVG siempre es un valor menor
que
caps$personas...)
col="grey", border=F, space=.01)
par(new=T)
plot(caps$Con12Meses, axes=F, ann=F, type="n")
points(caps$Con12Meses,type="l",col="black") # Crea la lÃnea para
caps$Con12Meses (por la cual quiero ordenar)
points(caps$Con12Meses, pch=16, col="black") # agrega puntos
negros
rellenos a la lÃnea
par(new=T)
plot(caps$prevalencia, axes=F, ann=F, type="n")
axis(4) # Crea el eje
secundario
points(caps$prevalencia,type="l",col="red") # Crea la lÃnea
sobre el
eje secundario
points(caps$prevalencia, pch=16, col="red") # agrega puntos rojos
rellenos a la lÃnea
text(caps$prevalencia, labels=paste(caps$prevalencia), pos=3,
col="red", )
# si se quiere poner la prevalencia en el gráfico.
¿PodrÃan por favor ayudarme con la solución? Les juro que renegué como
loco
para llegar a este punto y creo que ya no "veo" más nada en las ayudas!
Además, ¿no hay una forma más "simple" de hacerlo?
Muchas gracias, como siempre. (Algún dÃa aprenderé...)
--
Mauricio
[[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
[[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
--
Mauricio
[[alternative HTML version deleted]]
------------------------------
Message: 3
Date: Wed, 31 Oct 2012 15:21:43 +0100
From: Carlos Ortega <cof en qualityexcellence.es>
To: Mauricio Monsalvo <m.monsalvo en gmail.com>
Cc: r-help-es <r-help-es en r-project.org>
Subject: Re: [R-es] Gráfico von varias variables
Message-ID:
<CAOKbq8go+E1CPwyNdLhVT4W9ZzBnRe8zaeSo0595TLx1VJtP0w en mail.gmail.com>
Content-Type: text/plain
Hola,
Para ordenar todo por la columna "Con12Meses" se puede hacer ordenando
inicialmente el data.frame "caps" y luego ya generar todos los gráficos.
Adjunto el código. Tan sólo cambia una lÃnea (la destaco en rojo):
##############################################
*#ordeno por columna "Con12Meses"*
*caps <- caps[order(caps$Con12Meses, decreasing=T),]*
par(mar=c(4,4,4,4), #
omi=c(0.1,0.1,0.1,0.1), #
las=1, #
mex=0.5, #
cex.lab = 1, #
cex.axis=0.7) # el tamaño de las leyendas
barplot(
caps$personas,
names.ar=caps$CAPS,
col="blue", border=F, space=.01, axes=F, ylim=c(0,
1.20*max(caps$personas))
)
axis(2, col.axis="blue")
#par(new=T)
# crea la barra de caps$PersonasRCGV, pero cambia los ejes porque el
resultado gráfico no es
# coherente con los valores (caps$PersonasRCVG siempre es un valor menor
que caps$personas...)
barplot(caps$PersonasRCVG, axes=F, ann=F,
col="grey", border=F, space=.01, add=T)
par(new=T)
plot(caps$Con12Meses, axes=F, ann=F, type="n")
points(caps$Con12Meses,type="l",col="black") # Crea la lÃnea
paracaps$Con12Meses (por la cual quiero ordenar)
points(caps$Con12Meses, pch=16, col="black") # agrega puntos negros
rellenos a la lÃnea
par(new=T)
plot(caps$prevalencia, axes=F, ann=F, type="n")
axis(4, col.axis="tomato", col.lab="black" ) # Crea
el eje secundario
#points(caps$prevalencia,type="l",col="red") # Crea la lÃnea sobre el
eje secundario
#points(caps$prevalencia, pch=16, col="red") # agrega puntos rojos
rellenos a la lÃnea
points(caps$prevalencia, type="b", pch=16, col="red")
text(caps$prevalencia, labels=paste(caps$prevalencia), pos=3, col="red", )
# si se quiere poner la prevalencia en el gráfico.
box()
######################### FIN ######################
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 31 de octubre de 2012 14:53, Mauricio Monsalvo
<m.monsalvo en gmail.com>escribió:
Muchas gracias a todos!
Todas las soluciones me resultaron útiles. Comparto que la clave era el
add=T para la segunda barra. Me quedó pendiente ordenar el gráfico por la
lÃnea de Con12Meses (que va sobre el primer eje) y ahora noto que me faltan
las referencias. ¿Es lo mismo que ponerlas en uno? ¿Pero en cuál?
Mauricio
El 31 de octubre de 2012 06:52, Carlos Ortega <cof en qualityexcellence.es>escribió:
Hola,
Incluyo todo el código destacando algunas mejoras que creo que añaden
coherencia a lo que se representa en cada eje, además de alguna mejora
estética.
########################################################
par(*mar=c(4,4,4,4)*, #
omi=c(0.1,0.1,0.1,0.1), #
las=1, #
mex=0.5, #
cex.lab = 1, #
cex.axis=0.7) # el tamaño de las leyendas
########################
# Barplots - Eje Primario
barplot(
caps$personas,
names.ar=caps$CAPS,
col="blue", border=F, space=.01,* axes=F, ylim=c(0,
1.20*max(caps$personas)*)
)
*axis(2, col.axis="blue") # Separo el eje para darle color azul como el
del barplot.1*
*#*par(new=T)
# crea la barra de caps$PersonasRCGV, pero cambia los ejes porque el
resultado gráfico no es
# coherente con los valores (caps$PersonasRCVG siempre es un valor menor
que caps$personas...)
barplot(caps$PersonasRCVG, axes=F, ann=F,
col="grey", border=F, space=.01, *add=T)*
#######################
# LÃneas - Eje Secundario
par(new=T)
plot(caps$Con12Meses, axes=F, ann=F, type="n")
*#*points(caps$Con12Meses,type="l",col="black") # Crea la lÃnea
paracaps$Con12Meses (por la cual quiero ordenar)
*#*points(caps$Con12Meses, pch=16, col="black")* * # agrega puntos
negros rellenos a la lÃnea
*points(caps$Con12Meses, pch=16, col="black") # Los dos pasos
anteriores los puedo hacer en uno.*
par(new=T)
plot(caps$prevalencia, axes=F, ann=F, type="n")
*axis(4, col.axis="tomato", col.lab="black" ) * #
Crea el eje secundario *y le doy color rojo como una de las lÃneas. *
*#*points(caps$prevalencia,type="l",col="red") # Crea la lÃnea
sobre el eje secundario
#points(caps$prevalencia, pch=16, col="red") # agrega puntos rojos
rellenos a la lÃnea
*points(caps$prevalencia, type="b", pch=16, col="red") **# Los dos
pasos anteriores los puedo hacer en uno.*
text(caps$prevalencia, labels=paste(caps$prevalencia), pos=3,
col="red", )
# si se quiere poner la prevalencia en el gráfico.
*box()*
########################################################
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 31 de octubre de 2012 10:24, Xavi de Blas <xaviblas en gmail.com>escribió:
Perdón por el autobombo pero aquà tengo un gráfico con 4 variables que
me satisface:
http://chronojump.org/server/images/tf_by_level_sex_jumptype.png
el código está aquÃ:
http://git.gnome.org/browse/chronojump/tree/chronojump_server/r-sqlite/tf_by_level_sex_jumptype.R
A ver si te sirve. Saludos
2012/10/31 Carlos Ortega <cof en qualityexcellence.es>:
Hola,
La clave está destacada en utilizar "*add=T*" en el segundo barplot
para
superponerle al primero en vez de utilizar "par(new=T)".
El destaco los cambios en tu mismo código:
par(mar=c(4,4,3,1), #
omi=c(0.1,0.1,0.1,0.1), #
las=1, #
mex=0.5, #
cex.lab = 1, #
cex.axis=0.7) # el tamaño de las leyendas
barplot(caps$personas,
names.ar=caps$CAPS,
col="blue", border=F, space=.01)
*#par(new=T)*
barplot(caps$PersonasRCVG, axes=F, ann=F, type="n",
# crea la barra de caps$PersonasRCGV, pero cambia los ejes
porque
el resultado gráfico no es
# coherente con los valores (caps$PersonasRCVG siempre es un
valor
menor que
# caps$personas...)
col="grey", border=F, space=.01*, add=T*)
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 31 de octubre de 2012 05:32, Mauricio Monsalvo
<m.monsalvo en gmail.com>escribió:
Estimados amigos,
Tengo el siguiente set de datos:
caps <- datos[datos$NombreDepartamento=="LANUS", c("CAPS", "personas",
"PersonasRCVG", "Con12Meses")]
caps$prevalencia <- round(caps$PersonasRCVG/caps$personas*100,1)
caps
CAPS personas PersonasRCVG Con12Meses prevalencia
2345 2345 1347 132 211 9.8
2363 2363 17272 1602 2320 9.3
2341 2341 1771 241 220 13.6
2361 2361 2725 371 466 13.6
2342 2342 4590 538 3615 11.7
2347 2347 16610 1678 5884 10.1
2348 2348 2961 373 883 12.6
2350 2350 8132 990 1180 12.2
2351 2351 2205 332 208 15.1
2355 2355 4059 409 548 10.1
2364 2364 5175 517 696 10.0
2349 2349 1111 158 459 14.2
2360 2360 809 127 190 15.7
2362 2362 3112 358 754 11.5
2365 2365 2522 340 271 13.5
2343 2343 12136 1112 5016 9.2
2344 2344 20956 2365 4161 11.3
2346 2346 2640 273 1062 10.3
2357 2357 3143 458 682 14.6
2358 2358 3432 337 532 9.8
2340 2340 1733 288 384 16.6
2352 2352 17358 1694 3511 9.8
2356 2356 15034 1780 10990 11.8
2359 2359 15907 1731 6464 10.9
8924 8924 639 160 103 25.0
8929 8929 734 107 66 14.6
8937 8937 2688 527 414 19.6
8932 8932 858 93 96 10.8
Y quiero graficar las 4 variables juntas. Creo que casi casi casi lo
logro,
salvo por (a) la barra de caps$PersonasRCVG, que pareciera cambia los
valores del eje Y a otra escala... creo... y (b) porque me falta
ordenar el
gráfico por la lÃnea de caps$Con12Meses (de mayor a menor).
Va mi mejor intento:
par(mar=c(4,4,3,1), #
omi=c(0.1,0.1,0.1,0.1), #
las=1, #
mex=0.5, #
cex.lab = 1, #
cex.axis=0.7) # el tamaño de las leyendas
barplot(caps$personas,
names.ar=caps$CAPS,
col="blue", border=F, space=.01)
par(new=T)
barplot(caps$PersonasRCVG, axes=F, ann=F, type="n", # crea la barra de
caps$PersonasRCGV, pero cambia los ejes porque el resultado gráfico
no es
coherente con los valores (caps$PersonasRCVG siempre es un valor
menor que
caps$personas...)
col="grey", border=F, space=.01)
par(new=T)
plot(caps$Con12Meses, axes=F, ann=F, type="n")
points(caps$Con12Meses,type="l",col="black") # Crea la lÃnea
para
caps$Con12Meses (por la cual quiero ordenar)
points(caps$Con12Meses, pch=16, col="black") # agrega puntos
negros
rellenos a la lÃnea
par(new=T)
plot(caps$prevalencia, axes=F, ann=F, type="n")
axis(4) # Crea el eje
secundario
points(caps$prevalencia,type="l",col="red") # Crea la lÃnea
sobre el
eje secundario
points(caps$prevalencia, pch=16, col="red") # agrega puntos
rojos
rellenos a la lÃnea
text(caps$prevalencia, labels=paste(caps$prevalencia), pos=3,
col="red", )
# si se quiere poner la prevalencia en el gráfico.
¿PodrÃan por favor ayudarme con la solución? Les juro que renegué
como loco
para llegar a este punto y creo que ya no "veo" más nada en las
ayudas!
Además, ¿no hay una forma más "simple" de hacerlo?
Muchas gracias, como siempre. (Algún dÃa aprenderé...)
--
Mauricio
[[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
[[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
--
Mauricio
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[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
Fin de Resumen de R-help-es, Vol 44, EnvÃo 40
*********************************************
[[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