[R-es] help:ELIMINAR FILAS DUPLICADAS DENTRO DE UNA MATRIZ
Lo que quires hacer es algo así d - rbind( mtcars , mtcars[1:3,] ) duplicated(d) d - d[ !duplicated(d) ,] -- [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] ELIMINAR FILAS DUPLICADAS DENTRO DE UNA MATRIZ
Lo que quires hacer es algo así d - rbind( mtcars , mtcars[1:3,] ) duplicated(d) d - d[ !duplicated(d) ,] -- [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] Cursos de Estadística Aplicada con R
Estimado/a amigo/a: La Unidad de Bioestadística del Instituto IMDEA Alimentación y la Facultad de Ciencias de la Universidad Autónoma de Madrid (UAM) han organizado conjuntamente un programa de formación continua en Estadística Aplicada con R que se va a impartir en Madrid en 2015 de forma presencial. El programa está compuesto por 7 módulos que pueden ser cursados de forma independiente: Módulos Fechas 2015 1. Introducción a R 24, 25 Septiembre 2. Métodos de Regresión con R 15, 16 Octubre 3. Métodos de Regresión Avanzados para la Investigación en Ciencias Naturales con R 28, 29, 30 Octubre 4. Estadística Aplicada a la Investigación Biomédica con R 11, 12, 13 Noviembre 5. Modelos Mixtos / Jerárquicos / Multinivel con R 18, 19, 20 Noviembre 6. Estadística Multivariante con R 26 y 27 Noviembre 7. Técnicas Estadísticas de Data Mining con R 14, 15, 16, 17 Diciembre Los módulos 4 y 7 se impartirán en el Instituto IMDEA Alimentación, y el resto en la Facultad de Ciencias de la UAM. En este link, podrás encontrar los detalles de la programación de todos los módulos: http://www.alimentacion.imdea.org/sites/default/files/Formacion/Programa_Cur so_Estad%C3%ADstica_Aplicada_con_R_2015.pdf Si quieres obtener más información, lo puedes hacer en las siguientes páginas, donde también podrás formalizar la matrícula: https://www.uam.es/ss/Satellite/es/1242652866332/1242685761521/cursocortadur acion/cursoCortaDuracion/Estadistica_Aplicada_con_R.htm http://www.alimentacion.imdea.org/unidad-de-formacion Te rogamos que difundas la información a quien creas oportuno, y que la incorpores en las agendas y eventos de la página web de tu institución. Recibe un cordial saludo Jesús Herranz Firma Jesús Herranz IMDEA ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] Nueva publicación en blog en r-es.org
Nueva publicación en blog: Cursos, Cursos de Estadística Aplicada con R, por jesus.herranz en 18/03/15 15:39h Ver el blog en: http://r-es.org/tiki-view_blog_post.php?blogId=4postId=97 Si no desea recibir estas notificaciones siga este enlace: http://r-es.org/tiki-user_watches.php?id=49 ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] una orientación...
un cordial y amable saludo, Soy un poco nuevo en esto de R, aunque debo decir que me ha parecido excepcional.quisiera saber si alguien me puede dar una mano con los siguientes dos problemas: 1) Problema 1. Estoy haciendo un script y entre muchas otras cosas que quiero es que me gráfique la distribución normal sombreando el área de la probabilidad acumulada, por lo que he leído esto implica el uso de función polygon y ahí esta mi problema, no entiendo como funciona, se que debe ser con otra función gráfica pero hasta ahí, o aparece nada especifico en los tutoriales que he leído, agradecería un ejemplo al respecto y algún comentario que me ayude. 2) Problema 2: En el escript que he comentado quiero que salgan al momento de ser cargado algunas información de las funciones que tiene, su sintaxis y demás, al usar print(blablab...) sale solo una linea, yo quisiera escribir un parrafo de texto y que al cargar este aparezca; agradezco cualquier información. Heber [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] una orientación sobre gráficas
un cordial y amable saludo, Soy un poco nuevo en esto de R, aunque debo decir que me ha parecido excepcional.quisiera saber si alguien me puede dar una mano con los siguientes dos problemas: 1) Problema 1. Estoy haciendo un script y entre muchas otras cosas que quiero es que me gráfique la distribución normal sombreando el área de la probabilidad acumulada, por lo que he leído esto implica el uso de función polygon y ahí esta mi problema, no entiendo como funciona, se que debe ser con otra función gráfica pero hasta ahí, o aparece nada especifico en los tutoriales que he leído, agradecería un ejemplo al respecto y algún comentario que me ayude. 2) Problema 2: En el escript que he comentado quiero que salgan al momento de ser cargado algunas información de las funciones que tiene, su sintaxis y demás, al usar print(blablab...) sale solo una linea, yo quisiera escribir un parrafo de texto y que al cargar este aparezca; agradezco cualquier información. Heber [[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] Familia *pply
Hola Jorge, muchas gracias por tu pronta respuesta, no me di cuenta que el formateo podr�a causar problemas, env�o de nuevo el c�digo sin formatos. La idea b�sica es para un set de n�meros de columnas (desordenados) y un set de numeros de fila el loop lo que hace es ir a la fila y columna correspondiente de data, tomar el valor y luego hacer la media sobre esos. data=matrix(rnorm(100*20),20,100) col=sample(1:100,100) t1=Sys.time() medias=replicate(1000,{ sel=sample(1:20,10) pareja=sample(sel,100,replace = T) ta=Sys.time() recep=NULL for(i in 1:100){ n=col[i] m=pareja[i] c=data[m,n] recep=c(recep,c) } tb=Sys.time() media=mean(recep) tt=tb-ta c(media,tt) },simplify=T) t2=Sys.time() diftime=(t2-t1)[[1]] sum(medias[2,])/diftime Fernando Macedo El 18/03/15 a las 21:06, Jorge I Velez escribi�: Hola Fernando, No puedo ver las negritas, pero intuyo que lo que quieres es calcular la media por columnas? Si es asi, hay dos maneras: 1. Usa colMeans(x), donde x es tu matriz de datos 2. Usa apply(x, 2, mean) donde x es tu matriz de datos Existe una tercera pero menos conocida posibilidad que es usando el paquete matrixStats. Esta implementado en C en su mayoria y, de acuerdo con el autor, es mucho mas rapido que la familia *apply. En http://cran.r-project.org/web/packages/matrixStats/vignettes/matrixStats-methods.html puedes encontrar mas informacion. Saludos cordiales, Jorge.- 2015-03-19 11:01 GMT+11:00 Fernando Macedo ferm...@gmail.com mailto:ferm...@gmail.com: Buenas a todos. Desde hace un tiempo estoy tratando de aplicar las funciones de la familia *pply en todo lo que puedo, pero todav�a no es algo que me surja tan r�pidamente o naturalmente al momento de los loops como usar for(). Conozco las ventajas de usar estas funciones y por eso mi intento de hacerme de ellas. Por ejemplo en este problema: data=matrix(rnorm(100*20),20,100) col=sample(1:100,100) t1=Sys.time() medias=replicate(1000,{ sel=sample(1:20,10) pareja=sample(sel,100,replace = T) ta=Sys.time() *recep=NULL** ** for(i in 1:100){** **n=col[i]** **m=pareja[i]** **c=data[m,n]** **recep=c(recep,c)** ** }** * tb=Sys.time() media=mean(recep) tt=tb-ta c(media,tt) }) t2=Sys.time() diftime=(t2-t1)[[1]] sum(medias[2,])/diftime la parte que est� en negrita (si us� bien los Sys.time()) me representa (hice varias pruebas) aprox un 60% del tiempo total empleado. Mi pregunta es, para este ejemplo �c�mo plantear�an una soluci�n usando funciones *pply? Y luego ver cuanto aumenta en el rendimiento del uso del tiempo. De paso, la salida que obtengo es una matriz de 2 por 1000, cuando ser�a m�s interesante una matriz de 1000 por 2. Si se usa simplify = F como argumento de replicate() resulta en una lista. �Existe alg�n argumento que directamente obtenga una matriz de 1000 por 2? (Esto �ltimo pensando en de repente 10 o 100 de repeticiones y salidas m�s complejas). Saludos! -- Fernando Macedo [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org mailto:R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-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] Familia *pply
Hola, Una forma de hacerlo es así (destaco en negrita los cambios). De todas formas, ya te adelanto que no es un caso en el que aplicar, en este caso mapply(), mejore los tiempos frente a la solución basada en un bucle. #- t1 - Sys.time() *myfun - function(x,y) { data[x,y] }* medias - replicate(1000,{ sel - sample(1:20,10) pareja - sample(sel,100,replace = T) ta - Sys.time() *#cambioresnew - mapply(myfun, pareja, col) #cambio * tb - Sys.time() media - mean(resnew) tt - tb-ta c(media,tt) }) t2 - Sys.time() diftime=(t2-t1)[[1]] diftime sum(medias[2,])/diftime #- Saludos, Carlos Ortega www.qualiytexcellence.es El 19 de marzo de 2015, 1:14, Fernando Macedo ferm...@gmail.com escribió: Hola Jorge, muchas gracias por tu pronta respuesta, no me di cuenta que el formateo podría causar problemas, envío de nuevo el código sin formatos. La idea básica es para un set de números de columnas (desordenados) y un set de numeros de fila el loop lo que hace es ir a la fila y columna correspondiente de data, tomar el valor y luego hacer la media sobre esos. data=matrix(rnorm(100*20),20,100) col=sample(1:100,100) t1=Sys.time() medias=replicate(1000,{ sel=sample(1:20,10) pareja=sample(sel,100,replace = T) ta=Sys.time() recep=NULL for(i in 1:100){ n=col[i] m=pareja[i] c=data[m,n] recep=c(recep,c) } tb=Sys.time() media=mean(recep) tt=tb-ta c(media,tt) },simplify=T) t2=Sys.time() diftime=(t2-t1)[[1]] sum(medias[2,])/diftime Fernando Macedo El 18/03/15 a las 21:06, Jorge I Velez escribió: Hola Fernando, No puedo ver las negritas, pero intuyo que lo que quieres es calcular la media por columnas? Si es asi, hay dos maneras: 1. Usa colMeans(x), donde x es tu matriz de datos 2. Usa apply(x, 2, mean) donde x es tu matriz de datos Existe una tercera pero menos conocida posibilidad que es usando el paquete matrixStats. Esta implementado en C en su mayoria y, de acuerdo con el autor, es mucho mas rapido que la familia *apply. En http://cran.r-project.org/web/packages/matrixStats/vignettes/matrixStats-methods.html puedes encontrar mas informacion. Saludos cordiales, Jorge.- 2015-03-19 11:01 GMT+11:00 Fernando Macedo ferm...@gmail.com mailto:ferm...@gmail.com: Buenas a todos. Desde hace un tiempo estoy tratando de aplicar las funciones de la familia *pply en todo lo que puedo, pero todavía no es algo que me surja tan rápidamente o naturalmente al momento de los loops como usar for(). Conozco las ventajas de usar estas funciones y por eso mi intento de hacerme de ellas. Por ejemplo en este problema: data=matrix(rnorm(100*20),20,100) col=sample(1:100,100) t1=Sys.time() medias=replicate(1000,{ sel=sample(1:20,10) pareja=sample(sel,100,replace = T) ta=Sys.time() *recep=NULL** ** for(i in 1:100){** **n=col[i]** **m=pareja[i]** **c=data[m,n]** **recep=c(recep,c)** ** }** * tb=Sys.time() media=mean(recep) tt=tb-ta c(media,tt) }) t2=Sys.time() diftime=(t2-t1)[[1]] sum(medias[2,])/diftime la parte que está en negrita (si usé bien los Sys.time()) me representa (hice varias pruebas) aprox un 60% del tiempo total empleado. Mi pregunta es, para este ejemplo ¿cómo plantearían una solución usando funciones *pply? Y luego ver cuanto aumenta en el rendimiento del uso del tiempo. De paso, la salida que obtengo es una matriz de 2 por 1000, cuando sería más interesante una matriz de 1000 por 2. Si se usa simplify = F como argumento de replicate() resulta en una lista. ¿Existe algún argumento que directamente obtenga una matriz de 1000 por 2? (Esto último pensando en de repente 10 o 100 de repeticiones y salidas más complejas). Saludos! -- Fernando Macedo [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org mailto:R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-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 -- 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] Familia *pply
Hola, ¿qué tal? Puedes hacer data - matrix(rnorm(100 *20), 100, 20) medias - replicate(1000,{ sel - sample(1:20,10) tmp - data[cbind(sel, sample(sel,100,replace = T))] mean(tmp) }) Mira el párrafo de ?] que comienza diciendo A third form of indexing... Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 19 de marzo de 2015, 1:01, Fernando Macedo ferm...@gmail.com escribió: Buenas a todos. Desde hace un tiempo estoy tratando de aplicar las funciones de la familia *pply en todo lo que puedo, pero todavía no es algo que me surja tan rápidamente o naturalmente al momento de los loops como usar for(). Conozco las ventajas de usar estas funciones y por eso mi intento de hacerme de ellas. Por ejemplo en este problema: data=matrix(rnorm(100*20),20,100) col=sample(1:100,100) t1=Sys.time() medias=replicate(1000,{ sel=sample(1:20,10) pareja=sample(sel,100,replace = T) ta=Sys.time() *recep=NULL** ** for(i in 1:100){** **n=col[i]** **m=pareja[i]** **c=data[m,n]** **recep=c(recep,c)** ** }** * tb=Sys.time() media=mean(recep) tt=tb-ta c(media,tt) }) t2=Sys.time() diftime=(t2-t1)[[1]] sum(medias[2,])/diftime la parte que está en negrita (si usé bien los Sys.time()) me representa (hice varias pruebas) aprox un 60% del tiempo total empleado. Mi pregunta es, para este ejemplo ¿cómo plantearían una solución usando funciones *pply? Y luego ver cuanto aumenta en el rendimiento del uso del tiempo. De paso, la salida que obtengo es una matriz de 2 por 1000, cuando sería más interesante una matriz de 1000 por 2. Si se usa simplify = F como argumento de replicate() resulta en una lista. ¿Existe algún argumento que directamente obtenga una matriz de 1000 por 2? (Esto último pensando en de repente 10 o 100 de repeticiones y salidas más complejas). Saludos! -- Fernando Macedo [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Familia *pply
Hola Fernando, No puedo ver las negritas, pero intuyo que lo que quieres es calcular la media por columnas? Si es asi, hay dos maneras: 1. Usa colMeans(x), donde x es tu matriz de datos 2. Usa apply(x, 2, mean) donde x es tu matriz de datos Existe una tercera pero menos conocida posibilidad que es usando el paquete matrixStats. Esta implementado en C en su mayoria y, de acuerdo con el autor, es mucho mas rapido que la familia *apply. En http://cran.r-project.org/web/packages/matrixStats/vignettes/matrixStats-methods.html puedes encontrar mas informacion. Saludos cordiales, Jorge.- 2015-03-19 11:01 GMT+11:00 Fernando Macedo ferm...@gmail.com: Buenas a todos. Desde hace un tiempo estoy tratando de aplicar las funciones de la familia *pply en todo lo que puedo, pero todav�a no es algo que me surja tan r�pidamente o naturalmente al momento de los loops como usar for(). Conozco las ventajas de usar estas funciones y por eso mi intento de hacerme de ellas. Por ejemplo en este problema: data=matrix(rnorm(100*20),20,100) col=sample(1:100,100) t1=Sys.time() medias=replicate(1000,{ sel=sample(1:20,10) pareja=sample(sel,100,replace = T) ta=Sys.time() *recep=NULL** ** for(i in 1:100){** **n=col[i]** **m=pareja[i]** **c=data[m,n]** **recep=c(recep,c)** ** }** * tb=Sys.time() media=mean(recep) tt=tb-ta c(media,tt) }) t2=Sys.time() diftime=(t2-t1)[[1]] sum(medias[2,])/diftime la parte que est� en negrita (si us� bien los Sys.time()) me representa (hice varias pruebas) aprox un 60% del tiempo total empleado. Mi pregunta es, para este ejemplo �c�mo plantear�an una soluci�n usando funciones *pply? Y luego ver cuanto aumenta en el rendimiento del uso del tiempo. De paso, la salida que obtengo es una matriz de 2 por 1000, cuando ser�a m�s interesante una matriz de 1000 por 2. Si se usa simplify = F como argumento de replicate() resulta en una lista. �Existe alg�n argumento que directamente obtenga una matriz de 1000 por 2? (Esto �ltimo pensando en de repente 10 o 100 de repeticiones y salidas m�s complejas). Saludos! -- Fernando Macedo [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-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] una orientación sobre gráficas
Hola, - Del primer problema, tienes ejemplos de justamente lo que quieres aquí: http://www.fernandohrosa.com.br/en/P/shaded_areas_in_r/?utm_source=rssutm_medium=rssutm_campaign=shaded_areas_in_r http://www.statmethods.net/advgraphs/probability.html - Y del segundo problema, mira la función cat(). Saludos, Carlos Ortega www.qualityexcellence.es El 18 de marzo de 2015, 21:50, heber sarmiento via R-help-es r-help-es@r-project.org escribió: un cordial y amable saludo, Soy un poco nuevo en esto de R, aunque debo decir que me ha parecido excepcional.quisiera saber si alguien me puede dar una mano con los siguientes dos problemas: 1) Problema 1. Estoy haciendo un script y entre muchas otras cosas que quiero es que me gráfique la distribución normal sombreando el área de la probabilidad acumulada, por lo que he leído esto implica el uso de función polygon y ahí esta mi problema, no entiendo como funciona, se que debe ser con otra función gráfica pero hasta ahí, o aparece nada especifico en los tutoriales que he leído, agradecería un ejemplo al respecto y algún comentario que me ayude. 2) Problema 2: En el escript que he comentado quiero que salgan al momento de ser cargado algunas información de las funciones que tiene, su sintaxis y demás, al usar print(blablab...) sale solo una linea, yo quisiera escribir un parrafo de texto y que al cargar este aparezca; agradezco cualquier información. Heber [[alternative HTML version deleted]] ___ 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