Sí, también... Para las permutaciones, n=r. Y con el parámetro "repeats.allowed" controlas si son con o sin repetción: #----------------------> #Permutaciones *con repetición* > permutations(n=3, r=3, v=x, repeats.allowed=TRUE)[,1] [,2] [,3] [1,] "azul" "azul" "azul" [2,] "azul" "azul" "rojo" [3,] "azul" "azul" "verde" [4,] "azul" "rojo" "azul" [5,] "azul" "rojo" "rojo" [6,] "azul" "rojo" "verde" [7,] "azul" "verde" "azul" [8,] "azul" "verde" "rojo" [9,] "azul" "verde" "verde" [10,] "rojo" "azul" "azul" [11,] "rojo" "azul" "rojo" [12,] "rojo" "azul" "verde" [13,] "rojo" "rojo" "azul" [14,] "rojo" "rojo" "rojo" [15,] "rojo" "rojo" "verde" [16,] "rojo" "verde" "azul" [17,] "rojo" "verde" "rojo" [18,] "rojo" "verde" "verde" [19,] "verde" "azul" "azul" [20,] "verde" "azul" "rojo" [21,] "verde" "azul" "verde" [22,] "verde" "rojo" "azul" [23,] "verde" "rojo" "rojo" [24,] "verde" "rojo" "verde" [25,] "verde" "verde" "azul" [26,] "verde" "verde" "rojo" [27,] "verde" "verde" "verde"> #Permutaciones *sin repetición* > permutations(n=3, r=3, v=x, repeats.allowed=FALSE)[,1] [,2] [,3] [1,] "azul" "rojo" "verde" [2,] "azul" "verde" "rojo" [3,] "rojo" "azul" "verde" [4,] "rojo" "verde" "azul" [5,] "verde" "azul" "rojo" [6,] "verde" "rojo" "azul" #------------------------------------ Saludos, Carlos Ortega www.qualityexcellence.es El 22 de marzo de 2015, 12:18, Francisco Rodríguez <fjroar en hotmail.com> escribió:> Carlos y ya puestos ¿Las permutaciones con repetición, salen también de > aquí? > > Un saludo y gracias > > > Date: Sun, 22 Mar 2015 12:15:45 +0100 > > From: cof en qualityexcellence.es > > > To: ourutopy en gmail.com > > CC: r-help-es en r-project.org > > Subject: Re: [R-es] Combinatoria > > > > Hola Miguel, > > > > Sí se pueden obtener las variaciones con y sin repetición en R. > > Eso sí están un poco escondidas... > > > > Se pueden calcular de esta forma: > > > > #---------------------- > > > #Cargar el paquete gtools > > > library(gtools) > > > #Definir el conjunto sobre el que se hará el cálculo > > > x <- c('rojo', 'azul', 'verde') > > > #Utilizar la función "permutations()" modificando el valor de "r" y > > > #modificando el parámetro "repeats.allowed" dependiendo si sequieren > con > > o sin repetición > > > permutations(n=3, r=2, v=x, repeats.allowed=FALSE) > > [,1] [,2] > > [1,] "azul" "rojo" > > [2,] "azul" "verde" > > [3,] "rojo" "azul" > > [4,] "rojo" "verde" > > [5,] "verde" "azul" > > [6,] "verde" "rojo" > > > permutations(n=3, r=2, v=x, repeats.allowed=TRUE) > > [,1] [,2] > > [1,] "azul" "azul" > > [2,] "azul" "rojo" > > [3,] "azul" "verde" > > [4,] "rojo" "azul" > > [5,] "rojo" "rojo" > > [6,] "rojo" "verde" > > [7,] "verde" "azul" > > [8,] "verde" "rojo" > > [9,] "verde" "verde" > > #---------------------- > > > > > > Saludos, > > Carlos Ortega > > www.qualityexcellence.es > > > > > > El 22 de marzo de 2015, 9:02, Our Utopy <ourutopy en gmail.com> escribió: > > > > > Hola de nuevo amigos, Gracias por vuestras respuestas. Un placer > levantarme > > > esta mañana y ver que alguien había tratado de ayudarme. Espero en unas > > > semanas poder también ser yo útil a quien lo necesite. > > > > > > Me explico de nuevo. Estoy aprendiendo y mi primera visión, antes del > Data > > > Mining y las redes neuronales a las que quiero llegar, es ir > solucionando > > > los problemas básicos además de explicarles R a mis propios alumnos en > > > lugar de Wiris (idóneo para secundaria) o Maxima. > > > > > > Mi problema es de combinatoria básica, quiero calcular Cm,n Pn Vm,n y > lo > > > mismo con repetición. Son cosas muy básicas de secundaria que cualquier > > > programa o calculadora de mano las resuelve. Supuse que R en su módulo > > > básico o CORE las respondería al igual que responde a logaritmos en > > > cualquier base, determinantes e inversas de matrices. > > > > > > Pero no, hay que instalar paquetes adicionales. > > > > > > Buscando encontré que el paquete *combinat* incluye dos de estas > funciones > > > > > > - *combn(m,n)* > > > - *permn(n)* > > > - *e incluso mCn(m,n)* > > > > > > N es solo que haga el cálculod e cuantas son sino que las escribe > todas, > > > por ejemplo > > > > > > > combn(4,2) > > > [,1] [,2] [,3] [,4] [,5] [,6] > > > [1,] 1 1 1 2 2 3 > > > [2,] 2 3 4 3 4 4 > > > > > > > permn(3) > > > [[1]] > > > [1] 1 2 3 > > > > > > [[2]] > > > [1] 1 3 2 > > > > > > [[3]] > > > [1] 3 1 2 > > > > > > [[4]] > > > [1] 3 2 1 > > > > > > [[5]] > > > [1] 2 3 1 > > > > > > [[6]] > > > [1] 2 1 3 > > > > > > > > > Y mCn las calcula, sin escribirlas: > > > > > > > nCm(4,2) > > > [1] 6 > > > > > > Pero me chocó que NO incluyese Variaciones con y sin repetición, y > > > combinaciones y permutaciones con repetición. Tanto que me las calcule > como > > > que me las escriba. Al menos yo no las encuentro a pesar de ser una > > > cuestión muy básica en combinatoria que ayuda a calcular > probabilidades y > > > claro, ¡es que R es un programa de Estadística! > > > > > > De ahí mi pregunta al grupo. > > > > > > Si tengo que hacerme mi propia librería, pues creo que en unos días > seré > > > capaz de hacerlo. Ayer precisamente ya estuve leyendo sobre > construirme mis > > > propias funciones, pero es que me choca que no haya ninguna librería > entre > > > las 6200 del repositorio que ya lo incluya. > > > > > > Esa era mi pregunta. > > > > > > Gracias anticipadas. > > > > > > Miguel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > El 21 de marzo de 2015, 19:35, Francisco Rodríguez <fjroar en hotmail.com > > > > > escribió: > > > > > > > En relación con lo que comenta Carlos, por ejemplo para el caso de > las > > > > Variaciones sin Repetición, puede ser instructivo > > > > enseñar como se construye como por ejemplo: > > > > > > > > > > > > VsinR <- function(m, n){ > > > > > > > > return (factorial(m)/factorial(m-n)) > > > > } > > > > > > > > > > > > VsinR(9,3) > > > > > > > > ------------------------- > > > > > > > > > > > > Creo que con la función factorial que viene por defecto en R puedes > > > > construir siguiendo este modelo rápidadmente > > > > casi cualquier función de las de bachillerato. Las VconR serían m > elevado > > > > a n > > > > > > > > Quizás la única que merezca la pena construir es la de Permutaciones > con > > > > Repetición porque la parte de repetición puede tener más variedad, > voy a > > > > mirar si lo encuentro y si no una función lo puede resolver. > > > > PR(m; n1, ..., nk) donde n1+...+nk = m y PR(m;n1, ...,nk) = m!/(n1! > > > > ·...·nk!) > > > > > > > > > > > > Un saludo > > > > > > > > > > > > > > > > > > > > > Date: Sat, 21 Mar 2015 16:36:50 +0100 > > > > > From: cgb en datanalytics.com > > > > > To: ourutopy en gmail.com > > > > > CC: r-help-es en r-project.org > > > > > Subject: Re: [R-es] Combinatoria > > > > > > > > > > > > > > Hola, ¿qué tal? > > > > > > > > > > ¿Qué quieres hacer, construir las > > > > > combinaciones/permutaciones/variaciones o calcular cuántas hay? > > > > > > > > > > Es improbable que encuentres funciones que resuelvan exactamente un > > > > > problema específico. Pero sí que podrás, con no mucho esfuerzo, > > > > > extender lo que hay para atacar esos problemas. > > > > > > > > > > Un saludo y suerte con R, > > > > > > > > > > Carlos J. Gil Bellosta > > > > > http://www.datanalytics.com > > > > > > > > > > El día 21 de marzo de 2015, 8:39, Our Utopy <ourutopy en gmail.com> > > > > escribió: > > > > > > Hola buenos días, me presento, me llamo Miguel y 'soy de' y > 'vivo en' > > > > > > Galicia. > > > > > > Soy profesor de secundaria (Bachillerato Adultos) y llevo 15 días > > > > > > estudiando R a un buen ritmo, pero todavía me faltan miles de > cosas. > > > > > > > > > > > > He visto que R facilita, no solo el análisis de datos y que > posee una > > > > > > potencia en cálculos estadísticos a cualquier nivel, sino gran > caudal > > > > de > > > > > > recursos para Data Mining, Redes Neuronales, reconocimiento de > > > > patrones y > > > > > > probablemente todo cuanto deseemos, pero ... aqui va mi primera > > > > > > pregunta > > > > > > > > > > > > 1. Si quiero calcular unas combinaciones, la función *combn* ó la > > > > *nCm* me > > > > > > lo resuelven > > > > > > 2. Si quiero permutaciones, entonces ya tengo que cargar el > paquete > > > > > > combinat > > > > > > 3. Pero no encuentro , y no puedo entenderlo, que no encuentre > una > > > > > > función análoga para las variaciones con y sin repetición y para > las > > > > > > permutaciones con repetición. y ya llevo varias horas buscando > .... > > > ¡! > > > > > > puede que ayer y hoy me encuentre algo espeso, no lo descarto. > > > > > > > > > > > > Me podríais ayudar en esta tan básica duda. > > > > > > > > > > > > Gracias > > > > > > > > > > > > [[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 > > > > > > > > > > _______________________________________________ > > > > > R-help-es mailing list > > > > > R-help-es en r-project.org > > > > > https://stat.ethz.ch/mailman/listinfo/r-help-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 > > > > [[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]]
Carlos, creo que el ejemplo que mandas se refiere a las Variaciones con Repetición de 3 elementos tomados de 3 en 3 y cuyo número asciende a 27 En las Permutaciones con repetición con las observaciones se forman grupos disjuntos cuya suma de cardinales es el número total, así pues puede hablarse de Permutaciones con Repetición de 10 elementos tomados de 5 en 5, 2 en 2 y de 3 en 3, en este caso, el número de combinaciones que sale seria: PR5;3,2,3 = 10!/(5!·2!·3!) Este caso es el que digo que seria mas dificil de preparar y quizas si requiere algo de programacion, porque el numero de grupos es variable, pero a lo mejor en lo que mandas se puede introducir algun tipo de vector, en todo caso lo miro mañana Un saludo Date: Sun, 22 Mar 2015 13:22:36 +0100 Subject: Re: [R-es] Combinatoria From: cof en qualityexcellence.es To: fjroar en hotmail.com CC: ourutopy en gmail.com; r-help-es en r-project.org Sí, también... Para las permutaciones, n=r. Y con el parámetro "repeats.allowed" controlas si son con o sin repetción: #----------------------> #Permutaciones con repetición > permutations(n=3, r=3, v=x, repeats.allowed=TRUE)[,1] [,2] [,3] [1,] "azul" "azul" "azul" [2,] "azul" "azul" "rojo" [3,] "azul" "azul" "verde" [4,] "azul" "rojo" "azul" [5,] "azul" "rojo" "rojo" [6,] "azul" "rojo" "verde" [7,] "azul" "verde" "azul" [8,] "azul" "verde" "rojo" [9,] "azul" "verde" "verde" [10,] "rojo" "azul" "azul" [11,] "rojo" "azul" "rojo" [12,] "rojo" "azul" "verde" [13,] "rojo" "rojo" "azul" [14,] "rojo" "rojo" "rojo" [15,] "rojo" "rojo" "verde" [16,] "rojo" "verde" "azul" [17,] "rojo" "verde" "rojo" [18,] "rojo" "verde" "verde" [19,] "verde" "azul" "azul" [20,] "verde" "azul" "rojo" [21,] "verde" "azul" "verde" [22,] "verde" "rojo" "azul" [23,] "verde" "rojo" "rojo" [24,] "verde" "rojo" "verde" [25,] "verde" "verde" "azul" [26,] "verde" "verde" "rojo" [27,] "verde" "verde" "verde"> #Permutaciones sin repetición > permutations(n=3, r=3, v=x, repeats.allowed=FALSE)[,1] [,2] [,3] [1,] "azul" "rojo" "verde" [2,] "azul" "verde" "rojo" [3,] "rojo" "azul" "verde" [4,] "rojo" "verde" "azul" [5,] "verde" "azul" "rojo" [6,] "verde" "rojo" "azul" #------------------------------------ Saludos, Carlos Ortega www.qualityexcellence.es El 22 de marzo de 2015, 12:18, Francisco Rodríguez <fjroar en hotmail.com> escribió: Carlos y ya puestos ¿Las permutaciones con repetición, salen también de aquí? Un saludo y gracias> Date: Sun, 22 Mar 2015 12:15:45 +0100 > From: cof en qualityexcellence.es > To: ourutopy en gmail.com > CC: r-help-es en r-project.org > Subject: Re: [R-es] Combinatoria > > Hola Miguel, > > Sí se pueden obtener las variaciones con y sin repetición en R. > Eso sí están un poco escondidas... > > Se pueden calcular de esta forma: > > #---------------------- > > #Cargar el paquete gtools > > library(gtools) > > #Definir el conjunto sobre el que se hará el cálculo > > x <- c('rojo', 'azul', 'verde') > > #Utilizar la función "permutations()" modificando el valor de "r" y > > #modificando el parámetro "repeats.allowed" dependiendo si sequieren con > o sin repetición > > permutations(n=3, r=2, v=x, repeats.allowed=FALSE) > [,1] [,2] > [1,] "azul" "rojo" > [2,] "azul" "verde" > [3,] "rojo" "azul" > [4,] "rojo" "verde" > [5,] "verde" "azul" > [6,] "verde" "rojo" > > permutations(n=3, r=2, v=x, repeats.allowed=TRUE) > [,1] [,2] > [1,] "azul" "azul" > [2,] "azul" "rojo" > [3,] "azul" "verde" > [4,] "rojo" "azul" > [5,] "rojo" "rojo" > [6,] "rojo" "verde" > [7,] "verde" "azul" > [8,] "verde" "rojo" > [9,] "verde" "verde" > #---------------------- > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > El 22 de marzo de 2015, 9:02, Our Utopy <ourutopy en gmail.com> escribió: > > > Hola de nuevo amigos, Gracias por vuestras respuestas. Un placer levantarme > > esta mañana y ver que alguien había tratado de ayudarme. Espero en unas > > semanas poder también ser yo útil a quien lo necesite. > > > > Me explico de nuevo. Estoy aprendiendo y mi primera visión, antes del Data > > Mining y las redes neuronales a las que quiero llegar, es ir solucionando > > los problemas básicos además de explicarles R a mis propios alumnos en > > lugar de Wiris (idóneo para secundaria) o Maxima. > > > > Mi problema es de combinatoria básica, quiero calcular Cm,n Pn Vm,n y lo > > mismo con repetición. Son cosas muy básicas de secundaria que cualquier > > programa o calculadora de mano las resuelve. Supuse que R en su módulo > > básico o CORE las respondería al igual que responde a logaritmos en > > cualquier base, determinantes e inversas de matrices. > > > > Pero no, hay que instalar paquetes adicionales. > > > > Buscando encontré que el paquete *combinat* incluye dos de estas funciones > > > > - *combn(m,n)* > > - *permn(n)* > > - *e incluso mCn(m,n)* > > > > N es solo que haga el cálculod e cuantas son sino que las escribe todas, > > por ejemplo > > > > > combn(4,2) > > [,1] [,2] [,3] [,4] [,5] [,6] > > [1,] 1 1 1 2 2 3 > > [2,] 2 3 4 3 4 4 > > > > > permn(3) > > [[1]] > > [1] 1 2 3 > > > > [[2]] > > [1] 1 3 2 > > > > [[3]] > > [1] 3 1 2 > > > > [[4]] > > [1] 3 2 1 > > > > [[5]] > > [1] 2 3 1 > > > > [[6]] > > [1] 2 1 3 > > > > > > Y mCn las calcula, sin escribirlas: > > > > > nCm(4,2) > > [1] 6 > > > > Pero me chocó que NO incluyese Variaciones con y sin repetición, y > > combinaciones y permutaciones con repetición. Tanto que me las calcule como > > que me las escriba. Al menos yo no las encuentro a pesar de ser una > > cuestión muy básica en combinatoria que ayuda a calcular probabilidades y > > claro, ¡es que R es un programa de Estadística! > > > > De ahí mi pregunta al grupo. > > > > Si tengo que hacerme mi propia librería, pues creo que en unos días seré > > capaz de hacerlo. Ayer precisamente ya estuve leyendo sobre construirme mis > > propias funciones, pero es que me choca que no haya ninguna librería entre > > las 6200 del repositorio que ya lo incluya. > > > > Esa era mi pregunta. > > > > Gracias anticipadas. > > > > Miguel > > > > > > > > > > > > > > > > > > > > > > > > El 21 de marzo de 2015, 19:35, Francisco Rodríguez <fjroar en hotmail.com> > > escribió: > > > > > En relación con lo que comenta Carlos, por ejemplo para el caso de las > > > Variaciones sin Repetición, puede ser instructivo > > > enseñar como se construye como por ejemplo: > > > > > > > > > VsinR <- function(m, n){ > > > > > > return (factorial(m)/factorial(m-n)) > > > } > > > > > > > > > VsinR(9,3) > > > > > > ------------------------- > > > > > > > > > Creo que con la función factorial que viene por defecto en R puedes > > > construir siguiendo este modelo rápidadmente > > > casi cualquier función de las de bachillerato. Las VconR serían m elevado > > > a n > > > > > > Quizás la única que merezca la pena construir es la de Permutaciones con > > > Repetición porque la parte de repetición puede tener más variedad, voy a > > > mirar si lo encuentro y si no una función lo puede resolver. > > > PR(m; n1, ..., nk) donde n1+...+nk = m y PR(m;n1, ...,nk) = m!/(n1! > > > ·...·nk!) > > > > > > > > > Un saludo > > > > > > > > > > > > > > > > Date: Sat, 21 Mar 2015 16:36:50 +0100 > > > > From: cgb en datanalytics.com > > > > To: ourutopy en gmail.com > > > > CC: r-help-es en r-project.org > > > > Subject: Re: [R-es] Combinatoria > > > > > > > > > > > Hola, ¿qué tal? > > > > > > > > ¿Qué quieres hacer, construir las > > > > combinaciones/permutaciones/variaciones o calcular cuántas hay? > > > > > > > > Es improbable que encuentres funciones que resuelvan exactamente un > > > > problema específico. Pero sí que podrás, con no mucho esfuerzo, > > > > extender lo que hay para atacar esos problemas. > > > > > > > > Un saludo y suerte con R, > > > > > > > > Carlos J. Gil Bellosta > > > > http://www.datanalytics.com > > > > > > > > El día 21 de marzo de 2015, 8:39, Our Utopy <ourutopy en gmail.com> > > > escribió: > > > > > Hola buenos días, me presento, me llamo Miguel y 'soy de' y 'vivo en' > > > > > Galicia. > > > > > Soy profesor de secundaria (Bachillerato Adultos) y llevo 15 días > > > > > estudiando R a un buen ritmo, pero todavía me faltan miles de cosas. > > > > > > > > > > He visto que R facilita, no solo el análisis de datos y que posee una > > > > > potencia en cálculos estadísticos a cualquier nivel, sino gran caudal > > > de > > > > > recursos para Data Mining, Redes Neuronales, reconocimiento de > > > patrones y > > > > > probablemente todo cuanto deseemos, pero ... aqui va mi primera > > > > > pregunta > > > > > > > > > > 1. Si quiero calcular unas combinaciones, la función *combn* ó la > > > *nCm* me > > > > > lo resuelven > > > > > 2. Si quiero permutaciones, entonces ya tengo que cargar el paquete > > > > > combinat > > > > > 3. Pero no encuentro , y no puedo entenderlo, que no encuentre una > > > > > función análoga para las variaciones con y sin repetición y para las > > > > > permutaciones con repetición. y ya llevo varias horas buscando .... > > ¡! > > > > > puede que ayer y hoy me encuentre algo espeso, no lo descarto. > > > > > > > > > > Me podríais ayudar en esta tan básica duda. > > > > > > > > > > Gracias > > > > > > > > > > [[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 > > > > > > > > _______________________________________________ > > > > R-help-es mailing list > > > > R-help-es en r-project.org > > > > https://stat.ethz.ch/mailman/listinfo/r-help-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 > > [[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]]
Hola amigos, muchas gracias por vuestra ayuda. Entonces veo que mi sorpresa era legítima. Por todos vuestros mails la conclusión es que: - En el módulo base de R no incluye combinatoria elemental, ni siquiera el número combinatorio Cm,n hay que cargar el paquete *combinat* - Y para las variaciones con repetición el paquete* gtools* - Y aún así no tenemos ni las combinaciones ni las permutaciones, ambas con repetición. Pues tendremos que ponernos a ello ¿no creéis? y hacer un paquete que lo resuelva y que genere incluso un triángulo de Pascal y otras cuestiones del binomio de Newton. Ya sé que es matemática elemental pero repito que estoy sorprendido por este hecho y más porque estas *Técnicas de conteo* son imprescindibles para el cálculo básico de probabilidades. Seguimos en la lucha. Un saludo El 22 de marzo de 2015, 19:32, Francisco Rodríguez <fjroar en hotmail.com> escribió:> Carlos, creo que el ejemplo que mandas se refiere a las Variaciones con > Repetición de 3 elementos tomados de 3 en 3 y cuyo número asciende a 27 > > En las Permutaciones con repetición con las observaciones se forman grupos > disjuntos cuya suma de cardinales es el número total, así pues puede > hablarse de Permutaciones con Repetición de 10 elementos tomados de 5 en 5, > 2 en 2 y de 3 en 3, en este caso, el número de combinaciones que sale > seria: PR5;3,2,3 = 10!/(5!·2!·3!) > > Este caso es el que digo que seria mas dificil de preparar y quizas si > requiere algo de programacion, porque el numero de grupos es variable, pero > a lo mejor en lo que mandas se puede introducir algun tipo de vector, en > todo caso lo miro mañana > > > Un saludo > > ------------------------------ > Date: Sun, 22 Mar 2015 13:22:36 +0100 > Subject: Re: [R-es] Combinatoria > From: cof en qualityexcellence.es > To: fjroar en hotmail.com > CC: ourutopy en gmail.com; r-help-es en r-project.org > > > Sí, también... > Para las permutaciones, n=r. > Y con el parámetro "repeats.allowed" controlas si son con o sin repetción: > > #---------------------- > > #Permutaciones *con repetición* > > permutations(n=3, r=3, v=x, repeats.allowed=TRUE) > [,1] [,2] [,3] > [1,] "azul" "azul" "azul" > [2,] "azul" "azul" "rojo" > [3,] "azul" "azul" "verde" > [4,] "azul" "rojo" "azul" > [5,] "azul" "rojo" "rojo" > [6,] "azul" "rojo" "verde" > [7,] "azul" "verde" "azul" > [8,] "azul" "verde" "rojo" > [9,] "azul" "verde" "verde" > [10,] "rojo" "azul" "azul" > [11,] "rojo" "azul" "rojo" > [12,] "rojo" "azul" "verde" > [13,] "rojo" "rojo" "azul" > [14,] "rojo" "rojo" "rojo" > [15,] "rojo" "rojo" "verde" > [16,] "rojo" "verde" "azul" > [17,] "rojo" "verde" "rojo" > [18,] "rojo" "verde" "verde" > [19,] "verde" "azul" "azul" > [20,] "verde" "azul" "rojo" > [21,] "verde" "azul" "verde" > [22,] "verde" "rojo" "azul" > [23,] "verde" "rojo" "rojo" > [24,] "verde" "rojo" "verde" > [25,] "verde" "verde" "azul" > [26,] "verde" "verde" "rojo" > [27,] "verde" "verde" "verde" > > #Permutaciones *sin repetición* > > permutations(n=3, r=3, v=x, repeats.allowed=FALSE) > [,1] [,2] [,3] > [1,] "azul" "rojo" "verde" > [2,] "azul" "verde" "rojo" > [3,] "rojo" "azul" "verde" > [4,] "rojo" "verde" "azul" > [5,] "verde" "azul" "rojo" > [6,] "verde" "rojo" "azul" > #------------------------------------ > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > El 22 de marzo de 2015, 12:18, Francisco Rodríguez <fjroar en hotmail.com> > escribió: > > Carlos y ya puestos ¿Las permutaciones con repetición, salen también de > aquí? > > Un saludo y gracias > > > Date: Sun, 22 Mar 2015 12:15:45 +0100 > > From: cof en qualityexcellence.es > > > To: ourutopy en gmail.com > > CC: r-help-es en r-project.org > > Subject: Re: [R-es] Combinatoria > > > > Hola Miguel, > > > > Sí se pueden obtener las variaciones con y sin repetición en R. > > Eso sí están un poco escondidas... > > > > Se pueden calcular de esta forma: > > > > #---------------------- > > > #Cargar el paquete gtools > > > library(gtools) > > > #Definir el conjunto sobre el que se hará el cálculo > > > x <- c('rojo', 'azul', 'verde') > > > #Utilizar la función "permutations()" modificando el valor de "r" y > > > #modificando el parámetro "repeats.allowed" dependiendo si sequieren > con > > o sin repetición > > > permutations(n=3, r=2, v=x, repeats.allowed=FALSE) > > [,1] [,2] > > [1,] "azul" "rojo" > > [2,] "azul" "verde" > > [3,] "rojo" "azul" > > [4,] "rojo" "verde" > > [5,] "verde" "azul" > > [6,] "verde" "rojo" > > > permutations(n=3, r=2, v=x, repeats.allowed=TRUE) > > [,1] [,2] > > [1,] "azul" "azul" > > [2,] "azul" "rojo" > > [3,] "azul" "verde" > > [4,] "rojo" "azul" > > [5,] "rojo" "rojo" > > [6,] "rojo" "verde" > > [7,] "verde" "azul" > > [8,] "verde" "rojo" > > [9,] "verde" "verde" > > #---------------------- > > > > > > Saludos, > > Carlos Ortega > > www.qualityexcellence.es > > > > > > El 22 de marzo de 2015, 9:02, Our Utopy <ourutopy en gmail.com> escribió: > > > > > Hola de nuevo amigos, Gracias por vuestras respuestas. Un placer > levantarme > > > esta mañana y ver que alguien había tratado de ayudarme. Espero en unas > > > semanas poder también ser yo útil a quien lo necesite. > > > > > > Me explico de nuevo. Estoy aprendiendo y mi primera visión, antes del > Data > > > Mining y las redes neuronales a las que quiero llegar, es ir > solucionando > > > los problemas básicos además de explicarles R a mis propios alumnos en > > > lugar de Wiris (idóneo para secundaria) o Maxima. > > > > > > Mi problema es de combinatoria básica, quiero calcular Cm,n Pn Vm,n y > lo > > > mismo con repetición. Son cosas muy básicas de secundaria que cualquier > > > programa o calculadora de mano las resuelve. Supuse que R en su módulo > > > básico o CORE las respondería al igual que responde a logaritmos en > > > cualquier base, determinantes e inversas de matrices. > > > > > > Pero no, hay que instalar paquetes adicionales. > > > > > > Buscando encontré que el paquete *combinat* incluye dos de estas > funciones > > > > > > - *combn(m,n)* > > > - *permn(n)* > > > - *e incluso mCn(m,n)* > > > > > > N es solo que haga el cálculod e cuantas son sino que las escribe > todas, > > > por ejemplo > > > > > > > combn(4,2) > > > [,1] [,2] [,3] [,4] [,5] [,6] > > > [1,] 1 1 1 2 2 3 > > > [2,] 2 3 4 3 4 4 > > > > > > > permn(3) > > > [[1]] > > > [1] 1 2 3 > > > > > > [[2]] > > > [1] 1 3 2 > > > > > > [[3]] > > > [1] 3 1 2 > > > > > > [[4]] > > > [1] 3 2 1 > > > > > > [[5]] > > > [1] 2 3 1 > > > > > > [[6]] > > > [1] 2 1 3 > > > > > > > > > Y mCn las calcula, sin escribirlas: > > > > > > > nCm(4,2) > > > [1] 6 > > > > > > Pero me chocó que NO incluyese Variaciones con y sin repetición, y > > > combinaciones y permutaciones con repetición. Tanto que me las calcule > como > > > que me las escriba. Al menos yo no las encuentro a pesar de ser una > > > cuestión muy básica en combinatoria que ayuda a calcular > probabilidades y > > > claro, ¡es que R es un programa de Estadística! > > > > > > De ahí mi pregunta al grupo. > > > > > > Si tengo que hacerme mi propia librería, pues creo que en unos días > seré > > > capaz de hacerlo. Ayer precisamente ya estuve leyendo sobre > construirme mis > > > propias funciones, pero es que me choca que no haya ninguna librería > entre > > > las 6200 del repositorio que ya lo incluya. > > > > > > Esa era mi pregunta. > > > > > > Gracias anticipadas. > > > > > > Miguel > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > El 21 de marzo de 2015, 19:35, Francisco Rodríguez <fjroar en hotmail.com > > > > > escribió: > > > > > > > En relación con lo que comenta Carlos, por ejemplo para el caso de > las > > > > Variaciones sin Repetición, puede ser instructivo > > > > enseñar como se construye como por ejemplo: > > > > > > > > > > > > VsinR <- function(m, n){ > > > > > > > > return (factorial(m)/factorial(m-n)) > > > > } > > > > > > > > > > > > VsinR(9,3) > > > > > > > > ------------------------- > > > > > > > > > > > > Creo que con la función factorial que viene por defecto en R puedes > > > > construir siguiendo este modelo rápidadmente > > > > casi cualquier función de las de bachillerato. Las VconR serían m > elevado > > > > a n > > > > > > > > Quizás la única que merezca la pena construir es la de Permutaciones > con > > > > Repetición porque la parte de repetición puede tener más variedad, > voy a > > > > mirar si lo encuentro y si no una función lo puede resolver. > > > > PR(m; n1, ..., nk) donde n1+...+nk = m y PR(m;n1, ...,nk) = m!/(n1! > > > > ·...·nk!) > > > > > > > > > > > > Un saludo > > > > > > > > > > > > > > > > > > > > > Date: Sat, 21 Mar 2015 16:36:50 +0100 > > > > > From: cgb en datanalytics.com > > > > > To: ourutopy en gmail.com > > > > > CC: r-help-es en r-project.org > > > > > Subject: Re: [R-es] Combinatoria > > > > > > > > > > > > > > Hola, ¿qué tal? > > > > > > > > > > ¿Qué quieres hacer, construir las > > > > > combinaciones/permutaciones/variaciones o calcular cuántas hay? > > > > > > > > > > Es improbable que encuentres funciones que resuelvan exactamente un > > > > > problema específico. Pero sí que podrás, con no mucho esfuerzo, > > > > > extender lo que hay para atacar esos problemas. > > > > > > > > > > Un saludo y suerte con R, > > > > > > > > > > Carlos J. Gil Bellosta > > > > > http://www.datanalytics.com > > > > > > > > > > El día 21 de marzo de 2015, 8:39, Our Utopy <ourutopy en gmail.com> > > > > escribió: > > > > > > Hola buenos días, me presento, me llamo Miguel y 'soy de' y > 'vivo en' > > > > > > Galicia. > > > > > > Soy profesor de secundaria (Bachillerato Adultos) y llevo 15 días > > > > > > estudiando R a un buen ritmo, pero todavía me faltan miles de > cosas. > > > > > > > > > > > > He visto que R facilita, no solo el análisis de datos y que > posee una > > > > > > potencia en cálculos estadísticos a cualquier nivel, sino gran > caudal > > > > de > > > > > > recursos para Data Mining, Redes Neuronales, reconocimiento de > > > > patrones y > > > > > > probablemente todo cuanto deseemos, pero ... aqui va mi primera > > > > > > pregunta > > > > > > > > > > > > 1. Si quiero calcular unas combinaciones, la función *combn* ó la > > > > *nCm* me > > > > > > lo resuelven > > > > > > 2. Si quiero permutaciones, entonces ya tengo que cargar el > paquete > > > > > > combinat > > > > > > 3. Pero no encuentro , y no puedo entenderlo, que no encuentre > una > > > > > > función análoga para las variaciones con y sin repetición y para > las > > > > > > permutaciones con repetición. y ya llevo varias horas buscando > .... > > > ¡! > > > > > > puede que ayer y hoy me encuentre algo espeso, no lo descarto. > > > > > > > > > > > > Me podríais ayudar en esta tan básica duda. > > > > > > > > > > > > Gracias > > > > > > > > > > > > [[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 > > > > > > > > > > _______________________________________________ > > > > > R-help-es mailing list > > > > > R-help-es en r-project.org > > > > > https://stat.ethz.ch/mailman/listinfo/r-help-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 > > > > [[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]]