Marcuzzi, Javier Rubén
2013-Jan-10 14:51 UTC
[R-es] Generacion de numeros al azar en data.frame
Estimado Gabriel Si, es posible y hay muchas formas. Te envío un link, dentro de este pdf que se puede descargar mira la parte de random ... cuándo genera números al azar. Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja espacios vacíos sin números o NA, pero no importa, una idea es que si los números que genera al azar están por debajo a arriba (mayor o menor) del valor que usted desee, este pasa a valer 1, de lo contrario NA, o nada. www.ugr.es/~proman/PDF/Simulacion_R.pdf También creo que se podría realizar de una forma más eficiente. Javier El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribió:> Saludos. > > Quisiera saber si existe una funcion para poder colocar valores de 1 al azar dentro de un data.frame, para tener lo siguiente > > data.frame1: > > > > > > > > M1 > > A > 1 > > B > > > C > > > D > 1 > > E > > > F > > > G > > > > > data.frame2: > > > > M1 > > A > 1 > > B > 1 > > C > > > D > > > E > > > F > > > G > > > > > data.frame3: > > > > M1 > > A > 1 > > B > > > C > > > D > > > E > > > F > 1 > > G > > > > Como veran necesito que me coloque valores de 1 en cualquiera de las posiciones y ademas poder repetir esto, de manera que pueda tener varios data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, en el caso de arriba es solo para dos filas, pero tambien quisiera saber para colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual, pero despues de esto necesito generar una funcion. > > Les agradezco de antemano por su atencion > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > > [[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
Gabriel Trujillo Paucar
2013-Jan-10 17:37 UTC
[R-es] Generacion de numeros al azar en data.frame
Saludos.
Quisiera saber si existe una funcion para poder colocar valores de 1 al azar
dentro de un data.frame, para tener lo siguiente
data.frame1:
M1
A
1
B
C
D
1
E
F
G
data.frame2:
M1
A
1
B
1
C
D
E
F
G
data.frame3:
M1
A
1
B
C
D
E
F
1
G
Como veran necesito que me coloque valores de 1 en cualquiera de las posiciones
y ademas poder repetir esto, de manera que pueda tener varios data.frame que se
distinguirian en los diferentes 1 que tomen esa posicion, en el caso de arriba
es solo para dos filas, pero tambien quisiera saber para colocarlos en 3, 4 ,5
filas esos "1" , se que se podria hacer manual, pero despues de esto
necesito generar una funcion.
Les agradezco de antemano por su atencion
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
[[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-10 19:13 UTC
[R-es] Generacion de numeros al azar en data.frame
Gracias por responder Javier.
Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una vez
que los "1" ya esten colocados, los demas espacios serian rellenados
con "ceros".
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: javier.ruben.marcuzzi@gmail.com
> To: gabriel_enter@hotmail.com
> CC: r-help-es@r-project.org
> Date: Thu, 10 Jan 2013 11:51:49 -0300
>
> Estimado Gabriel
>
> Si, es posible y hay muchas formas.
>
> Te envío un link, dentro de este pdf que se puede descargar mira la
> parte de random ... cuándo genera números al azar.
>
> Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja
> espacios vacíos sin números o NA, pero no importa, una idea es que si
> los números que genera al azar están por debajo a arriba (mayor o menor)
> del valor que usted desee, este pasa a valer 1, de lo contrario NA, o
> nada.
> www.ugr.es/~proman/PDF/Simulacion_R.pdf
>
> También creo que se podría realizar de una forma más eficiente.
>
> Javier
>
> El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribió:
> > Saludos.
> >
> > Quisiera saber si existe una funcion para poder colocar valores de 1
al azar dentro de un data.frame, para tener lo siguiente
> >
> > data.frame1:
> >
> >
> >
> >
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> >
> >
> > C
> >
> >
> > D
> > 1
> >
> > E
> >
> >
> > F
> >
> >
> > G
> >
> >
> >
> >
> > data.frame2:
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> > 1
> >
> > C
> >
> >
> > D
> >
> >
> > E
> >
> >
> > F
> >
> >
> > G
> >
> >
> >
> >
> > data.frame3:
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> >
> >
> > C
> >
> >
> > D
> >
> >
> > E
> >
> >
> > F
> > 1
> >
> > G
> >
> >
> >
> > Como veran necesito que me coloque valores de 1 en cualquiera de las
posiciones y ademas poder repetir esto, de manera que pueda tener varios
data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, en
el caso de arriba es solo para dos filas, pero tambien quisiera saber para
colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual,
pero despues de esto necesito generar una funcion.
> >
> > Les agradezco de antemano por su atencion
> >
> > Gabriel Antonio Trujillo Paucar
> > Estudiante de Biologia
> > 997603768
> >
> >
> > [[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]]
?sample data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE)) Daniel Merino El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar < gabriel_enter@hotmail.com> escribió:> > Gracias por responder Javier. > > Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una > vez que los "1" ya esten colocados, los demas espacios serian rellenados > con "ceros". > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > > > > > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > > From: javier.ruben.marcuzzi@gmail.com > > To: gabriel_enter@hotmail.com > > CC: r-help-es@r-project.org > > Date: Thu, 10 Jan 2013 11:51:49 -0300 > > > > Estimado Gabriel > > > > Si, es posible y hay muchas formas. > > > > Te envío un link, dentro de este pdf que se puede descargar mira la > > parte de random ... cuándo genera números al azar. > > > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > > espacios vacíos sin números o NA, pero no importa, una idea es que si > > los números que genera al azar están por debajo a arriba (mayor o menor) > > del valor que usted desee, este pasa a valer 1, de lo contrario NA, o > > nada. > > www.ugr.es/~proman/PDF/Simulacion_R.pdf > > > > También creo que se podría realizar de una forma más eficiente. > > > > Javier > > > > El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribió: > > > Saludos. > > > > > > Quisiera saber si existe una funcion para poder colocar valores de 1 > al azar dentro de un data.frame, para tener lo siguiente > > > > > > data.frame1: > > > > > > > > > > > > > > > > > > > > > > > > M1 > > > > > > A > > > 1 > > > > > > B > > > > > > > > > C > > > > > > > > > D > > > 1 > > > > > > E > > > > > > > > > F > > > > > > > > > G > > > > > > > > > > > > > > > data.frame2: > > > > > > > > > > > > M1 > > > > > > A > > > 1 > > > > > > B > > > 1 > > > > > > C > > > > > > > > > D > > > > > > > > > E > > > > > > > > > F > > > > > > > > > G > > > > > > > > > > > > > > > data.frame3: > > > > > > > > > > > > M1 > > > > > > A > > > 1 > > > > > > B > > > > > > > > > C > > > > > > > > > D > > > > > > > > > E > > > > > > > > > F > > > 1 > > > > > > G > > > > > > > > > > > > Como veran necesito que me coloque valores de 1 en cualquiera de las > posiciones y ademas poder repetir esto, de manera que pueda tener varios > data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, > en el caso de arriba es solo para dos filas, pero tambien quisiera saber > para colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual, > pero despues de esto necesito generar una funcion. > > > > > > Les agradezco de antemano por su atencion > > > > > > Gabriel Antonio Trujillo Paucar > > > Estudiante de Biologia > > > 997603768 > > > > > > > > > [[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 > >-- Daniel [[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-11 21:21 UTC
[R-es] Generacion de numeros al azar en data.frame
Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes
cantidades de "1" en mis filas, lo que necesito es poder ubicar un
"1" al azar en cualquiera de las filas, y esto repetirlo unas 50 veces
por ejemplo(para este caso solo lo puse 3 veces):
M1
A 1
B 0
C 0
D 0
E 0
F 0
G 0
M1
A 0
B 0
C 0
D 1
E 0
F 0
G 0
M1
A 0
B 1
C 0
D 0
E 0
F 0
G 0
y depues ubicar dos "1" en cualquiera de las filas al azar y repetirlo
como lo hice en el caso anterior:
M1
A 1
B 1
C 0
D 0
E 0
F 0
G 0
M1
A 1
B 0
C 0
D 1
E 0
F 0
G 0
M1
A 0
B 0
C 1
D 1
E 0
F 0
G 0
y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque despues
voy a hacer un grafico con estos.
Agradesco de antemano por su respuesta
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
Date: Thu, 10 Jan 2013 17:16:37 -0300
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
From: daniel319@gmail.com
To: gabriel_enter@hotmail.com
CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org
?sample
data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE))
Daniel Merino
El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar
<gabriel_enter@hotmail.com> escribió:
Gracias por responder Javier.
Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una vez
que los "1" ya esten colocados, los demas espacios serian rellenados
con "ceros".
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: javier.ruben.marcuzzi@gmail.com
> To: gabriel_enter@hotmail.com
> CC: r-help-es@r-project.org
> Date: Thu, 10 Jan 2013 11:51:49 -0300
>
> Estimado Gabriel
>
> Si, es posible y hay muchas formas.
>
> Te envío un link, dentro de este pdf que se puede descargar mira la
> parte de random ... cuándo genera números al azar.
>
> Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja
> espacios vacíos sin números o NA, pero no importa, una idea es que si
> los números que genera al azar están por debajo a arriba (mayor o menor)
> del valor que usted desee, este pasa a valer 1, de lo contrario NA, o
> nada.
> www.ugr.es/~proman/PDF/Simulacion_R.pdf
>
> También creo que se podría realizar de una forma más eficiente.
>
> Javier
>
> El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribió:
> > Saludos.
> >
> > Quisiera saber si existe una funcion para poder colocar valores de 1
al azar dentro de un data.frame, para tener lo siguiente
> >
> > data.frame1:
> >
> >
> >
> >
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> >
> >
> > C
> >
> >
> > D
> > 1
> >
> > E
> >
> >
> > F
> >
> >
> > G
> >
> >
> >
> >
> > data.frame2:
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> > 1
> >
> > C
> >
> >
> > D
> >
> >
> > E
> >
> >
> > F
> >
> >
> > G
> >
> >
> >
> >
> > data.frame3:
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> >
> >
> > C
> >
> >
> > D
> >
> >
> > E
> >
> >
> > F
> > 1
> >
> > G
> >
> >
> >
> > Como veran necesito que me coloque valores de 1 en cualquiera de las
posiciones y ademas poder repetir esto, de manera que pueda tener varios
data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, en
el caso de arriba es solo para dos filas, pero tambien quisiera saber para
colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual,
pero despues de esto necesito generar una funcion.
> >
> > Les agradezco de antemano por su atencion
> >
> > Gabriel Antonio Trujillo Paucar
> > Estudiante de Biologia
> > 997603768
> >
> >
> > [[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
--
Daniel
[[alternative HTML version deleted]]
Hola,
Con esta función puedes generar el conjunto (las veces que quieras, los
unos que quieras) de un golpe:
###################
goo <- function(cuantas.veces, cuantos.unos) {
sim.val <- data.frame(0)
for(i in 1:cuantas.veces) {
y <- sample(c(1:10), cuantos.unos)
w <- rep(0,10)
w[y] <- 1
sim.val <- cbind(sim.val,w)
}
rownames(sim.val) <- letters[1:10]
return(sim.val[2:dim(sim.val)[2]])
}
###################
Y un ejemplo de los resultados que ofrece:
goo(7,2) # Siete réplicas y dos unos por réplica
w w.1 w.2 w.3 w.4 w.5 w.6
a 0 0 0 0 0 0 0
b 0 1 0 0 1 0 0
c 0 0 0 0 0 1 0
d 0 0 0 0 0 0 0
e 0 0 1 0 0 0 1
f 1 1 1 0 0 0 0
g 0 0 0 0 0 0 0
h 0 0 0 1 0 0 0
i 1 0 0 0 0 1 0
j 0 0 0 1 1 0 1
> goo(7,3) # Siete réplicas y tres unos por réplica
w w.1 w.2 w.3 w.4 w.5 w.6
a 0 1 1 1 1 0 0
b 0 0 0 1 0 0 0
c 1 0 1 1 0 1 0
d 0 0 1 0 0 0 0
e 0 0 0 0 0 0 0
f 0 1 0 0 0 0 1
g 0 0 0 0 0 0 1
h 1 0 0 0 1 1 1
i 1 1 0 0 0 1 0
j 0 0 0 0 1 0 0
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 11 de enero de 2013 22:21, Gabriel Trujillo Paucar <
gabriel_enter@hotmail.com> escribió:
>
> Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes
> cantidades de "1" en mis filas, lo que necesito es poder ubicar
un "1" al
> azar en cualquiera de las filas, y esto repetirlo unas 50 veces por
> ejemplo(para este caso solo lo puse 3 veces):
>
> M1
> A 1
> B 0
> C 0
> D 0
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 0
> C 0
> D 1
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 1
> C 0
> D 0
> E 0
> F 0
> G 0
>
> y depues ubicar dos "1" en cualquiera de las filas al azar y
repetirlo
> como lo hice en el caso anterior:
> M1
> A 1
> B 1
> C 0
> D 0
> E 0
> F 0
> G 0
>
> M1
> A 1
> B 0
> C 0
> D 1
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 0
> C 1
> D 1
> E 0
> F 0
> G 0
>
> y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque
> despues voy a hacer un grafico con estos.
>
> Agradesco de antemano por su respuesta
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
>
>
>
> Date: Thu, 10 Jan 2013 17:16:37 -0300
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: daniel319@gmail.com
> To: gabriel_enter@hotmail.com
> CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org
>
> ?sample
>
>
>
> data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE))
>
>
> Daniel Merino
>
> El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar <
> gabriel_enter@hotmail.com> escribió:
>
>
> Gracias por responder Javier.
>
> Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una
> vez que los "1" ya esten colocados, los demas espacios serian
rellenados
> con "ceros".
>
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
>
> > Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> > From: javier.ruben.marcuzzi@gmail.com
> > To: gabriel_enter@hotmail.com
> > CC: r-help-es@r-project.org
> > Date: Thu, 10 Jan 2013 11:51:49 -0300
>
>
> >
> > Estimado Gabriel
> >
> > Si, es posible y hay muchas formas.
> >
> > Te envío un link, dentro de este pdf que se puede descargar mira la
> > parte de random ... cuándo genera números al azar.
> >
> > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja
> > espacios vacíos sin números o NA, pero no importa, una idea es que si
> > los números que genera al azar están por debajo a arriba (mayor o
menor)
> > del valor que usted desee, este pasa a valer 1, de lo contrario NA, o
> > nada.
> > www.ugr.es/~proman/PDF/Simulacion_R.pdf
> >
> > También creo que se podría realizar de una forma más eficiente.
> >
> > Javier
> >
> > El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar
escribió:
> > > Saludos.
> > >
> > > Quisiera saber si existe una funcion para poder colocar valores
de 1
> al azar dentro de un data.frame, para tener lo siguiente
> > >
> > > data.frame1:
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > >
> > >
> > > C
> > >
> > >
> > > D
> > > 1
> > >
> > > E
> > >
> > >
> > > F
> > >
> > >
> > > G
> > >
> > >
> > >
> > >
> > > data.frame2:
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > > 1
> > >
> > > C
> > >
> > >
> > > D
> > >
> > >
> > > E
> > >
> > >
> > > F
> > >
> > >
> > > G
> > >
> > >
> > >
> > >
> > > data.frame3:
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > >
> > >
> > > C
> > >
> > >
> > > D
> > >
> > >
> > > E
> > >
> > >
> > > F
> > > 1
> > >
> > > G
> > >
> > >
> > >
> > > Como veran necesito que me coloque valores de 1 en cualquiera de
las
> posiciones y ademas poder repetir esto, de manera que pueda tener varios
> data.frame que se distinguirian en los diferentes 1 que tomen esa posicion,
> en el caso de arriba es solo para dos filas, pero tambien quisiera saber
> para colocarlos en 3, 4 ,5 filas esos "1" , se que se podria
hacer manual,
> pero despues de esto necesito generar una funcion.
> > >
> > > Les agradezco de antemano por su atencion
> > >
> > > Gabriel Antonio Trujillo Paucar
> > > Estudiante de Biologia
> > > 997603768
> > >
> > >
> > > [[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
>
>
>
>
> --
> Daniel
> [[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]]
Hola. Contesto rápidamente sin comprobar. Creo que con
sample(c(rep(1,n),7-n)) donde n es la cantidad de 1 que necesitas en cada
corrida. Utilizo 7 porque usas desde A hasta G.
Ojalá te ayude.
El 11/01/2013 16:52, "Gabriel Trujillo Paucar"
<gabriel_enter@hotmail.com>
escribió:
Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes
cantidades de "1" en mis filas, lo que necesito es poder ubicar un
"1" al
azar en cualquiera de las filas, y esto repetirlo unas 50 veces por
ejemplo(para este caso solo lo puse 3 veces):
M1
A 1
B 0
C 0
D 0
E 0
F 0
G 0
M1
A 0
B 0
C 0
D 1
E 0
F 0
G 0
M1
A 0
B 1
C 0
D 0
E 0
F 0
G 0
y depues ubicar dos "1" en cualquiera de las filas al azar y repetirlo
como
lo hice en el caso anterior:
M1
A 1
B 1
C 0
D 0
E 0
F 0
G 0
M1
A 1
B 0
C 0
D 1
E 0
F 0
G 0
M1
A 0
B 0
C 1
D 1
E 0
F 0
G 0
y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque
despues voy a hacer un grafico con estos.
Agradesco de antemano por su respuesta
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
Date: Thu, 10 Jan 2013 17:16:37 -0300
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
From: daniel319@gmail.com
To: gabriel_enter@hotmail.com
CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org
?sample
data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE))
Daniel Merino
El 1...
_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]
Hola Gabriel,
Podrias intentar lo siguiente:
f <- function(unos, filas, B = 10)
replicate(B, {
x <- rep(0, filas)
x[sample(filas, unos)] <- 1
names(x) <- LETTERS[1:filas]
x
})
f(1, 5)
f(2, 10)
f(3, 10, 50) # 50 replicas, 3 unos por replica, 10 filas
Saludos,
Jorge.-
2013/1/12 Gabriel Trujillo Paucar <>
>
> Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes
> cantidades de "1" en mis filas, lo que necesito es poder ubicar
un "1" al
> azar en cualquiera de las filas, y esto repetirlo unas 50 veces por
> ejemplo(para este caso solo lo puse 3 veces):
>
> M1
> A 1
> B 0
> C 0
> D 0
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 0
> C 0
> D 1
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 1
> C 0
> D 0
> E 0
> F 0
> G 0
>
> y depues ubicar dos "1" en cualquiera de las filas al azar y
repetirlo
> como lo hice en el caso anterior:
> M1
> A 1
> B 1
> C 0
> D 0
> E 0
> F 0
> G 0
>
> M1
> A 1
> B 0
> C 0
> D 1
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 0
> C 1
> D 1
> E 0
> F 0
> G 0
>
> y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque
> despues voy a hacer un grafico con estos.
>
> Agradesco de antemano por su respuesta
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
>
>
>
> Date: Thu, 10 Jan 2013 17:16:37 -0300
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: daniel319@gmail.com
> To: gabriel_enter@hotmail.com
> CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org
>
> ?sample
>
>
>
> data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE))
>
>
> Daniel Merino
>
> El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar <
> gabriel_enter@hotmail.com> escribió:
>
>
> Gracias por responder Javier.
>
> Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una
> vez que los "1" ya esten colocados, los demas espacios serian
rellenados
> con "ceros".
>
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
>
> > Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> > From: javier.ruben.marcuzzi@gmail.com
> > To: gabriel_enter@hotmail.com
> > CC: r-help-es@r-project.org
> > Date: Thu, 10 Jan 2013 11:51:49 -0300
>
>
> >
> > Estimado Gabriel
> >
> > Si, es posible y hay muchas formas.
> >
> > Te envío un link, dentro de este pdf que se puede descargar mira la
> > parte de random ... cuándo genera números al azar.
> >
> > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja
> > espacios vacíos sin números o NA, pero no importa, una idea es que si
> > los números que genera al azar están por debajo a arriba (mayor o
menor)
> > del valor que usted desee, este pasa a valer 1, de lo contrario NA, o
> > nada.
> > www.ugr.es/~proman/PDF/Simulacion_R.pdf
> >
> > También creo que se podría realizar de una forma más eficiente.
> >
> > Javier
> >
> > El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar
escribió:
> > > Saludos.
> > >
> > > Quisiera saber si existe una funcion para poder colocar valores
de 1
> al azar dentro de un data.frame, para tener lo siguiente
> > >
> > > data.frame1:
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > >
> > >
> > > C
> > >
> > >
> > > D
> > > 1
> > >
> > > E
> > >
> > >
> > > F
> > >
> > >
> > > G
> > >
> > >
> > >
> > >
> > > data.frame2:
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > > 1
> > >
> > > C
> > >
> > >
> > > D
> > >
> > >
> > > E
> > >
> > >
> > > F
> > >
> > >
> > > G
> > >
> > >
> > >
> > >
> > > data.frame3:
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > >
> > >
> > > C
> > >
> > >
> > > D
> > >
> > >
> > > E
> > >
> > >
> > > F
> > > 1
> > >
> > > G
> > >
> > >
> > >
> > > Como veran necesito que me coloque valores de 1 en cualquiera de
las
> posiciones y ademas poder repetir esto, de manera que pueda tener varios
> data.frame que se distinguirian en los diferentes 1 que tomen esa posicion,
> en el caso de arriba es solo para dos filas, pero tambien quisiera saber
> para colocarlos en 3, 4 ,5 filas esos "1" , se que se podria
hacer manual,
> pero despues de esto necesito generar una funcion.
> > >
> > > Les agradezco de antemano por su atencion
> > >
> > > Gabriel Antonio Trujillo Paucar
> > > Estudiante de Biologia
> > > 997603768
> > >
> > >
> > > [[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
>
>
>
>
> --
> Daniel
> [[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]]
Marcuzzi, Javier Rubén
2013-Jan-14 14:54 UTC
[R-es] Generacion de numeros al azar en data.frame
Gabriel Si colocas esa otra forma en esta lista de correo se podría ver si hay un problema ejecutando ese código en otra computadora. Sin poder ver el código R es probable que este sea ineficiente, porque consume tantos recursos informáticos que el sistema operativo cierra a R. Pero claro, es solo una posibilidad, sin analizar el código creo que ninguno de nosotros puede ayudarte. Javier El lun, 14-01-2013 a las 17:18 +0000, Gabriel Trujillo Paucar escribió:> Gracias por responder, encontre otra forma tambien de hacer las repeticiones, sin embargo cuando corro para 1000 repeticiones o incluso para 100, el R se queda cargando un buen tiempo y despues de un rato se cierra solo. Si solo le doy 50 repeticiones se demora un poco pero al final si me da el resultado que espero, sin embargo a mas repeticiones el programa se me cierra solo, y es que yo necesito hacer bastantes repeticiones como unas 1000, hay alguna forma de evitar este problema o esta es una deficiencia en el R?. > > Agradezco de antemano su ayuda > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > > > > > > Date: Fri, 11 Jan 2013 23:31:28 +0100 > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > From: cof en qualityexcellence.es > To: gabriel_enter en hotmail.com > CC: daniel319 en gmail.com; r-help-es en r-project.org > > > Hola, > > > Con esta funcin puedes generar el conjunto (las veces que quieras, los unos que quieras) de un golpe: > > > ################### > > > > > goo <- function(cuantas.veces, cuantos.unos) { > sim.val <- data.frame(0) > for(i in 1:cuantas.veces) { > y <- sample(c(1:10), cuantos.unos) > w <- rep(0,10) > w[y] <- 1 > sim.val <- cbind(sim.val,w) > } > rownames(sim.val) <- letters[1:10] > return(sim.val[2:dim(sim.val)[2]]) > } > > > ################### > > > Y un ejemplo de los resultados que ofrece: > > > > goo(7,2) # Siete rplicas y dos unos por rplica > w w.1 w.2 w.3 w.4 w.5 w.6 > a 0 0 0 0 0 0 0 > b 0 1 0 0 1 0 0 > c 0 0 0 0 0 1 0 > d 0 0 0 0 0 0 0 > e 0 0 1 0 0 0 1 > f 1 1 1 0 0 0 0 > g 0 0 0 0 0 0 0 > h 0 0 0 1 0 0 0 > i 1 0 0 0 0 1 0 > j 0 0 0 1 1 0 1 > > > > > goo(7,3) # Siete rplicas y tres unos por rplica > w w.1 w.2 w.3 w.4 w.5 w.6 > a 0 1 1 1 1 0 0 > b 0 0 0 1 0 0 0 > c 1 0 1 1 0 1 0 > d 0 0 1 0 0 0 0 > e 0 0 0 0 0 0 0 > f 0 1 0 0 0 0 1 > g 0 0 0 0 0 0 1 > h 1 0 0 0 1 1 1 > i 1 1 0 0 0 1 0 > j 0 0 0 0 1 0 0 > > > > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > > El 11 de enero de 2013 22:21, Gabriel Trujillo Paucar <gabriel_enter en hotmail.com> escribi: > > > Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes cantidades de "1" en mis filas, lo que necesito es poder ubicar un "1" al azar en cualquiera de las filas, y esto repetirlo unas 50 veces por ejemplo(para este caso solo lo puse 3 veces): > > M1 > A 1 > B 0 > C 0 > D 0 > E 0 > F 0 > G 0 > > M1 > A 0 > B 0 > C 0 > D 1 > E 0 > F 0 > G 0 > > M1 > A 0 > B 1 > C 0 > D 0 > E 0 > F 0 > G 0 > > y depues ubicar dos "1" en cualquiera de las filas al azar y repetirlo como lo hice en el caso anterior: > > M1 > A 1 > B 1 > C 0 > D 0 > E 0 > F 0 > G 0 > > M1 > A 1 > B 0 > C 0 > D 1 > E 0 > F 0 > G 0 > > M1 > A 0 > B 0 > C 1 > D 1 > E 0 > F 0 > G 0 > > y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque despues voy a hacer un grafico con estos. > > Agradesco de antemano por su respuesta > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > > > > > > Date: Thu, 10 Jan 2013 17:16:37 -0300 > > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > From: daniel319 en gmail.com > To: gabriel_enter en hotmail.com > CC: javier.ruben.marcuzzi en gmail.com; r-help-es en r-project.org > > > > ?sample > > > > data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE)) > > > Daniel Merino > > El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar <gabriel_enter en hotmail.com> escribi: > > > Gracias por responder Javier. > > Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una vez que los "1" ya esten colocados, los demas espacios serian rellenados con "ceros". > > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > > > > > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > > From: javier.ruben.marcuzzi en gmail.com > > To: gabriel_enter en hotmail.com > > CC: r-help-es en r-project.org > > Date: Thu, 10 Jan 2013 11:51:49 -0300 > > > > > > Estimado Gabriel > > > > Si, es posible y hay muchas formas. > > > > Te envo un link, dentro de este pdf que se puede descargar mira la > > parte de random ... cundo genera nmeros al azar. > > > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > > espacios vacos sin nmeros o NA, pero no importa, una idea es que si > > los nmeros que genera al azar estn por debajo a arriba (mayor o menor) > > del valor que usted desee, este pasa a valer 1, de lo contrario NA, o > > nada. > > www.ugr.es/~proman/PDF/Simulacion_R.pdf > > > > Tambin creo que se podra realizar de una forma ms eficiente. > > > > Javier > > > > El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribi: > > > Saludos. > > > > > > Quisiera saber si existe una funcion para poder colocar valores de 1 al azar dentro de un data.frame, para tener lo siguiente > > > > > > data.frame1: > > > > > > > > > > > > > > > > > > > > > > > > M1 > > > > > > A > > > 1 > > > > > > B > > > > > > > > > C > > > > > > > > > D > > > 1 > > > > > > E > > > > > > > > > F > > > > > > > > > G > > > > > > > > > > > > > > > data.frame2: > > > > > > > > > > > > M1 > > > > > > A > > > 1 > > > > > > B > > > 1 > > > > > > C > > > > > > > > > D > > > > > > > > > E > > > > > > > > > F > > > > > > > > > G > > > > > > > > > > > > > > > data.frame3: > > > > > > > > > > > > M1 > > > > > > A > > > 1 > > > > > > B > > > > > > > > > C > > > > > > > > > D > > > > > > > > > E > > > > > > > > > F > > > 1 > > > > > > G > > > > > > > > > > > > Como veran necesito que me coloque valores de 1 en cualquiera de las posiciones y ademas poder repetir esto, de manera que pueda tener varios data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, en el caso de arriba es solo para dos filas, pero tambien quisiera saber para colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual, pero despues de esto necesito generar una funcion. > > > > > > Les agradezco de antemano por su atencion > > > > > > Gabriel Antonio Trujillo Paucar > > > Estudiante de Biologia > > > 997603768 > > > > > > > > > [[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 > > > > > > [[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 > > > > > -- > Daniel > [[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
Gabriel Trujillo Paucar
2013-Jan-14 17:18 UTC
[R-es] Generacion de numeros al azar en data.frame
Gracias por responder, encontre otra forma tambien de hacer las repeticiones,
sin embargo cuando corro para 1000 repeticiones o incluso para 100, el R se
queda cargando un buen tiempo y despues de un rato se cierra solo. Si solo le
doy 50 repeticiones se demora un poco pero al final si me da el resultado que
espero, sin embargo a mas repeticiones el programa se me cierra solo, y es que
yo necesito hacer bastantes repeticiones como unas 1000, ¿hay alguna forma de
evitar este problema o esta es una deficiencia en el R?.
Agradezco de antemano su ayuda
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
Date: Fri, 11 Jan 2013 23:31:28 +0100
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
From: cof@qualityexcellence.es
To: gabriel_enter@hotmail.com
CC: daniel319@gmail.com; r-help-es@r-project.org
Hola,
Con esta función puedes generar el conjunto (las veces que quieras, los unos que
quieras) de un golpe:
###################
goo <- function(cuantas.veces, cuantos.unos) {
sim.val <- data.frame(0)
for(i in 1:cuantas.veces) {
y <- sample(c(1:10), cuantos.unos)
w <- rep(0,10)
w[y] <- 1
sim.val <- cbind(sim.val,w)
}
rownames(sim.val) <- letters[1:10]
return(sim.val[2:dim(sim.val)[2]])
}
###################
Y un ejemplo de los resultados que ofrece:
goo(7,2) # Siete réplicas y dos unos por réplica
w w.1 w.2 w.3 w.4 w.5 w.6
a 0 0 0 0 0 0 0
b 0 1 0 0 1 0 0
c 0 0 0 0 0 1 0
d 0 0 0 0 0 0 0
e 0 0 1 0 0 0 1
f 1 1 1 0 0 0 0
g 0 0 0 0 0 0 0
h 0 0 0 1 0 0 0
i 1 0 0 0 0 1 0
j 0 0 0 1 1 0 1
> goo(7,3) # Siete réplicas y tres unos por réplica
w w.1 w.2 w.3 w.4 w.5 w.6
a 0 1 1 1 1 0 0
b 0 0 0 1 0 0 0
c 1 0 1 1 0 1 0
d 0 0 1 0 0 0 0
e 0 0 0 0 0 0 0
f 0 1 0 0 0 0 1
g 0 0 0 0 0 0 1
h 1 0 0 0 1 1 1
i 1 1 0 0 0 1 0
j 0 0 0 0 1 0 0
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 11 de enero de 2013 22:21, Gabriel Trujillo Paucar
<gabriel_enter@hotmail.com> escribió:
Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes
cantidades de "1" en mis filas, lo que necesito es poder ubicar un
"1" al azar en cualquiera de las filas, y esto repetirlo unas 50 veces
por ejemplo(para este caso solo lo puse 3 veces):
M1
A 1
B 0
C 0
D 0
E 0
F 0
G 0
M1
A 0
B 0
C 0
D 1
E 0
F 0
G 0
M1
A 0
B 1
C 0
D 0
E 0
F 0
G 0
y depues ubicar dos "1" en cualquiera de las filas al azar y repetirlo
como lo hice en el caso anterior:
M1
A 1
B 1
C 0
D 0
E 0
F 0
G 0
M1
A 1
B 0
C 0
D 1
E 0
F 0
G 0
M1
A 0
B 0
C 1
D 1
E 0
F 0
G 0
y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque despues
voy a hacer un grafico con estos.
Agradesco de antemano por su respuesta
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
Date: Thu, 10 Jan 2013 17:16:37 -0300
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
From: daniel319@gmail.com
To: gabriel_enter@hotmail.com
CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org
?sample
data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE))
Daniel Merino
El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar
<gabriel_enter@hotmail.com> escribió:
Gracias por responder Javier.
Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una vez
que los "1" ya esten colocados, los demas espacios serian rellenados
con "ceros".
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: javier.ruben.marcuzzi@gmail.com
> To: gabriel_enter@hotmail.com
> CC: r-help-es@r-project.org
> Date: Thu, 10 Jan 2013 11:51:49 -0300
>
> Estimado Gabriel
>
> Si, es posible y hay muchas formas.
>
> Te envío un link, dentro de este pdf que se puede descargar mira la
> parte de random ... cuándo genera números al azar.
>
> Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja
> espacios vacíos sin números o NA, pero no importa, una idea es que si
> los números que genera al azar están por debajo a arriba (mayor o menor)
> del valor que usted desee, este pasa a valer 1, de lo contrario NA, o
> nada.
> www.ugr.es/~proman/PDF/Simulacion_R.pdf
>
> También creo que se podría realizar de una forma más eficiente.
>
> Javier
>
> El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribió:
> > Saludos.
> >
> > Quisiera saber si existe una funcion para poder colocar valores de 1
al azar dentro de un data.frame, para tener lo siguiente
> >
> > data.frame1:
> >
> >
> >
> >
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> >
> >
> > C
> >
> >
> > D
> > 1
> >
> > E
> >
> >
> > F
> >
> >
> > G
> >
> >
> >
> >
> > data.frame2:
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> > 1
> >
> > C
> >
> >
> > D
> >
> >
> > E
> >
> >
> > F
> >
> >
> > G
> >
> >
> >
> >
> > data.frame3:
> >
> >
> >
> > M1
> >
> > A
> > 1
> >
> > B
> >
> >
> > C
> >
> >
> > D
> >
> >
> > E
> >
> >
> > F
> > 1
> >
> > G
> >
> >
> >
> > Como veran necesito que me coloque valores de 1 en cualquiera de las
posiciones y ademas poder repetir esto, de manera que pueda tener varios
data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, en
el caso de arriba es solo para dos filas, pero tambien quisiera saber para
colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual,
pero despues de esto necesito generar una funcion.
> >
> > Les agradezco de antemano por su atencion
> >
> > Gabriel Antonio Trujillo Paucar
> > Estudiante de Biologia
> > 997603768
> >
> >
> > [[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
--
Daniel
[[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 Ortegawww.qualityexcellence.es
[[alternative HTML version deleted]]
La sugerencia de Javier probablemente sea la mas efectiva. De cualquier forma ten en cuenta si el data.frame que creas es muy grande para la memoria RAM disponible en tu equipo. Si tienes un data.frame de 1.500.000 filas y 120 columnas, siendo numéricas todas, el monto aproximado de memoria requerido para guardar ese data.frame es: 1.500.000 * 120 * 8 bytes/numeric = 1440000000 bytes, o 1.373,29 MB, o 1.34 GB. ¿Probaste las rutinas de Carlos Ortega o Jorge I Velez?. Corrí, sin pensar en los argumentos ni en el resultados, la rutina de Jorge I Velez con el siguiente resultado: system.time(checkf <- f(100, 100, 100000)) user system elapsed 4.65 0.30 6.43 sessionInfo() R version 2.15.2 (2012-10-26) Platform: i386-w64-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=Spanish_Argentina.1252 LC_CTYPE=Spanish_Argentina.1252 [3] LC_MONETARY=Spanish_Argentina.1252 LC_NUMERIC=C [5] LC_TIME=Spanish_Argentina.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base ¿Recibes algún mensaje como "Error: cannot allocate vector of size xxx Mb"? Daniel Merino El 14 de enero de 2013 11:54, Marcuzzi, Javier < javier.ruben.marcuzzi@gmail.com> escribió:> Gabriel > > Si colocas esa otra forma en esta lista de correo se podría ver si hay > un problema ejecutando ese código en otra computadora. Sin poder ver el > código R es probable que este sea ineficiente, porque consume tantos > recursos informáticos que el sistema operativo cierra a R. Pero claro, > es solo una posibilidad, sin analizar el código creo que ninguno de > nosotros puede ayudarte. > > Javier > El lun, 14-01-2013 a las 17:18 +0000, Gabriel Trujillo Paucar escribió: > > Gracias por responder, encontre otra forma tambien de hacer las > repeticiones, sin embargo cuando corro para 1000 repeticiones o incluso > para 100, el R se queda cargando un buen tiempo y despues de un rato se > cierra solo. Si solo le doy 50 repeticiones se demora un poco pero al final > si me da el resultado que espero, sin embargo a mas repeticiones el > programa se me cierra solo, y es que yo necesito hacer bastantes > repeticiones como unas 1000, hay alguna forma de evitar este problema o > esta es una deficiencia en el R?. > > > > Agradezco de antemano su ayuda > > > > Gabriel Antonio Trujillo Paucar > > Estudiante de Biologia > > 997603768 > > > > > > > > > > > > > > Date: Fri, 11 Jan 2013 23:31:28 +0100 > > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > > From: cof@qualityexcellence.es > > To: gabriel_enter@hotmail.com > > CC: daniel319@gmail.com; r-help-es@r-project.org > > > > > > Hola, > > > > > > Con esta funcin puedes generar el conjunto (las veces que quieras, los > unos que quieras) de un golpe: > > > > > > ################### > > > > > > > > > > goo <- function(cuantas.veces, cuantos.unos) { > > sim.val <- data.frame(0) > > for(i in 1:cuantas.veces) { > > y <- sample(c(1:10), cuantos.unos) > > w <- rep(0,10) > > w[y] <- 1 > > sim.val <- cbind(sim.val,w) > > } > > rownames(sim.val) <- letters[1:10] > > return(sim.val[2:dim(sim.val)[2]]) > > } > > > > > > ################### > > > > > > Y un ejemplo de los resultados que ofrece: > > > > > > > > goo(7,2) # Siete rplicas y dos unos por rplica > > w w.1 w.2 w.3 w.4 w.5 w.6 > > a 0 0 0 0 0 0 0 > > b 0 1 0 0 1 0 0 > > c 0 0 0 0 0 1 0 > > d 0 0 0 0 0 0 0 > > e 0 0 1 0 0 0 1 > > f 1 1 1 0 0 0 0 > > g 0 0 0 0 0 0 0 > > h 0 0 0 1 0 0 0 > > i 1 0 0 0 0 1 0 > > j 0 0 0 1 1 0 1 > > > > > > > > > goo(7,3) # Siete rplicas y tres unos por rplica > > w w.1 w.2 w.3 w.4 w.5 w.6 > > a 0 1 1 1 1 0 0 > > b 0 0 0 1 0 0 0 > > c 1 0 1 1 0 1 0 > > d 0 0 1 0 0 0 0 > > e 0 0 0 0 0 0 0 > > f 0 1 0 0 0 0 1 > > g 0 0 0 0 0 0 1 > > h 1 0 0 0 1 1 1 > > i 1 1 0 0 0 1 0 > > j 0 0 0 0 1 0 0 > > > > > > > > > > Saludos, > > Carlos Ortega > > www.qualityexcellence.es > > > > > > > > El 11 de enero de 2013 22:21, Gabriel Trujillo Paucar < > gabriel_enter@hotmail.com> escribi: > > > > > > Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes > cantidades de "1" en mis filas, lo que necesito es poder ubicar un "1" al > azar en cualquiera de las filas, y esto repetirlo unas 50 veces por > ejemplo(para este caso solo lo puse 3 veces): > > > > M1 > > A 1 > > B 0 > > C 0 > > D 0 > > E 0 > > F 0 > > G 0 > > > > M1 > > A 0 > > B 0 > > C 0 > > D 1 > > E 0 > > F 0 > > G 0 > > > > M1 > > A 0 > > B 1 > > C 0 > > D 0 > > E 0 > > F 0 > > G 0 > > > > y depues ubicar dos "1" en cualquiera de las filas al azar y repetirlo > como lo hice en el caso anterior: > > > > M1 > > A 1 > > B 1 > > C 0 > > D 0 > > E 0 > > F 0 > > G 0 > > > > M1 > > A 1 > > B 0 > > C 0 > > D 1 > > E 0 > > F 0 > > G 0 > > > > M1 > > A 0 > > B 0 > > C 1 > > D 1 > > E 0 > > F 0 > > G 0 > > > > y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque > despues voy a hacer un grafico con estos. > > > > Agradesco de antemano por su respuesta > > > > Gabriel Antonio Trujillo Paucar > > Estudiante de Biologia > > 997603768 > > > > > > > > > > > > > > Date: Thu, 10 Jan 2013 17:16:37 -0300 > > > > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > > From: daniel319@gmail.com > > To: gabriel_enter@hotmail.com > > CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org > > > > > > > > ?sample > > > > > > > > data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE)) > > > > > > Daniel Merino > > > > El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar < > gabriel_enter@hotmail.com> escribi: > > > > > > Gracias por responder Javier. > > > > Voy a revisar ese pdf. No es que los demas espacios queden en blanco, > una vez que los "1" ya esten colocados, los demas espacios serian > rellenados con "ceros". > > > > > > Gabriel Antonio Trujillo Paucar > > Estudiante de Biologia > > 997603768 > > > > > > > > > > > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > > > From: javier.ruben.marcuzzi@gmail.com > > > To: gabriel_enter@hotmail.com > > > CC: r-help-es@r-project.org > > > Date: Thu, 10 Jan 2013 11:51:49 -0300 > > > > > > > > > > Estimado Gabriel > > > > > > Si, es posible y hay muchas formas. > > > > > > Te envo un link, dentro de este pdf que se puede descargar mira la > > > parte de random ... cundo genera nmeros al azar. > > > > > > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja > > > espacios vacos sin nmeros o NA, pero no importa, una idea es que si > > > los nmeros que genera al azar estn por debajo a arriba (mayor o menor) > > > del valor que usted desee, este pasa a valer 1, de lo contrario NA, o > > > nada. > > > www.ugr.es/~proman/PDF/Simulacion_R.pdf > > > > > > Tambin creo que se podra realizar de una forma ms eficiente. > > > > > > Javier > > > > > > El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribi: > > > > Saludos. > > > > > > > > Quisiera saber si existe una funcion para poder colocar valores de 1 > al azar dentro de un data.frame, para tener lo siguiente > > > > > > > > data.frame1: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > M1 > > > > > > > > A > > > > 1 > > > > > > > > B > > > > > > > > > > > > C > > > > > > > > > > > > D > > > > 1 > > > > > > > > E > > > > > > > > > > > > F > > > > > > > > > > > > G > > > > > > > > > > > > > > > > > > > > data.frame2: > > > > > > > > > > > > > > > > M1 > > > > > > > > A > > > > 1 > > > > > > > > B > > > > 1 > > > > > > > > C > > > > > > > > > > > > D > > > > > > > > > > > > E > > > > > > > > > > > > F > > > > > > > > > > > > G > > > > > > > > > > > > > > > > > > > > data.frame3: > > > > > > > > > > > > > > > > M1 > > > > > > > > A > > > > 1 > > > > > > > > B > > > > > > > > > > > > C > > > > > > > > > > > > D > > > > > > > > > > > > E > > > > > > > > > > > > F > > > > 1 > > > > > > > > G > > > > > > > > > > > > > > > > Como veran necesito que me coloque valores de 1 en cualquiera de las > posiciones y ademas poder repetir esto, de manera que pueda tener varios > data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, > en el caso de arriba es solo para dos filas, pero tambien quisiera saber > para colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual, > pero despues de esto necesito generar una funcion. > > > > > > > > Les agradezco de antemano por su atencion > > > > > > > > Gabriel Antonio Trujillo Paucar > > > > Estudiante de Biologia > > > > 997603768 > > > > > > > > > > > > [[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 > > > > > > > > > > -- > > Daniel > > [[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 > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Daniel [[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-14 20:33 UTC
[R-es] Generacion de numeros al azar en data.frame
Gracias por responder, la forma como yo he echo es la siguiente:
data
M1 M2 M3 M4 ....M300
sp1 1 0 0 0 0
sp2 0 1 0 0 0
sp3 0 0 1 0 0
sp4 0 0 0 1 0
.
.
.
sp300 0 0 0 0 1
Esta matriz es de 300x300, con un valor de 1 en cada celda solamente,he echo lo
siguiente
a=replicate(1000,sample(data,size=90),simplify=F)
lapply(lapply(lapply(a,t),colSums),data.frame),t
y asi voy a tener 1000 matrices con 90 valores de 1 asignados en posiciones
diferentes.
.....Hasta aca no hay problema......
El problema es cuando he generado una funcion para que me de como resultados
todas las posibilidades osea cuando solo habria un "1", dos
"1", tres "1", 4, 5 .... asi hasta 300. En el caso de arriba
lo he echo solo para 90. El problema es cuando corro la funcion para que me
saque de todos, he ahi cuando el R se me cierra, no me da ningun error, solo se
cierra el programa. Mi computadora tiene 8GB de RAM. Gracias por la ayuda
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
Date: Mon, 14 Jan 2013 15:21:48 -0300
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
From: daniel319@gmail.com
To: javier.ruben.marcuzzi@gmail.com
CC: gabriel_enter@hotmail.com; r-help-es@r-project.org
La sugerencia de Javier probablemente sea la mas efectiva. De cualquier forma
ten en cuenta si el data.frame que creas es muy grande para la memoria RAM
disponible en tu equipo. Si tienes un data.frame de 1.500.000 filas y 120
columnas, siendo numéricas todas, el monto aproximado de memoria requerido para
guardar ese data.frame es:
1.500.000 * 120 * 8 bytes/numeric = 1440000000 bytes, o 1.373,29 MB, o 1.34 GB.
¿Probaste las rutinas de Carlos Ortega o Jorge I Velez?. Corrí, sin pensar en
los argumentos ni en el resultados, la rutina de Jorge I Velez con el siguiente
resultado:
system.time(checkf <- f(100, 100, 100000))
user system elapsed
4.65 0.30 6.43
sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=Spanish_Argentina.1252 LC_CTYPE=Spanish_Argentina.1252
[3] LC_MONETARY=Spanish_Argentina.1252 LC_NUMERIC=C
[5] LC_TIME=Spanish_Argentina.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
¿Recibes algún mensaje como "Error: cannot allocate vector of size xxx
Mb"?
Daniel Merino
El 14 de enero de 2013 11:54, Marcuzzi, Javier
<javier.ruben.marcuzzi@gmail.com> escribió:
Gabriel
Si colocas esa otra forma en esta lista de correo se podría ver si hay
un problema ejecutando ese código en otra computadora. Sin poder ver el
código R es probable que este sea ineficiente, porque consume tantos
recursos informáticos que el sistema operativo cierra a R. Pero claro,
es solo una posibilidad, sin analizar el código creo que ninguno de
nosotros puede ayudarte.
Javier
El lun, 14-01-2013 a las 17:18 +0000, Gabriel Trujillo Paucar escribió:
> Gracias por responder, encontre otra forma tambien de hacer las
repeticiones, sin embargo cuando corro para 1000 repeticiones o incluso para
100, el R se queda cargando un buen tiempo y despues de un rato se cierra solo.
Si solo le doy 50 repeticiones se demora un poco pero al final si me da el
resultado que espero, sin embargo a mas repeticiones el programa se me cierra
solo, y es que yo necesito hacer bastantes repeticiones como unas 1000, hay
alguna forma de evitar este problema o esta es una deficiencia en el R?.
>
> Agradezco de antemano su ayuda
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
>
>
>
> Date: Fri, 11 Jan 2013 23:31:28 +0100
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: cof@qualityexcellence.es
> To: gabriel_enter@hotmail.com
> CC: daniel319@gmail.com; r-help-es@r-project.org
>
>
> Hola,
>
>
> Con esta funcin puedes generar el conjunto (las veces que quieras, los unos
que quieras) de un golpe:
>
>
> ###################
>
>
>
>
> goo <- function(cuantas.veces, cuantos.unos) {
> sim.val <- data.frame(0)
> for(i in 1:cuantas.veces) {
> y <- sample(c(1:10), cuantos.unos)
> w <- rep(0,10)
> w[y] <- 1
> sim.val <- cbind(sim.val,w)
> }
> rownames(sim.val) <- letters[1:10]
> return(sim.val[2:dim(sim.val)[2]])
> }
>
>
> ###################
>
>
> Y un ejemplo de los resultados que ofrece:
>
>
>
> goo(7,2) # Siete rplicas y dos unos por rplica
> w w.1 w.2 w.3 w.4 w.5 w.6
> a 0 0 0 0 0 0 0
> b 0 1 0 0 1 0 0
> c 0 0 0 0 0 1 0
> d 0 0 0 0 0 0 0
> e 0 0 1 0 0 0 1
> f 1 1 1 0 0 0 0
> g 0 0 0 0 0 0 0
> h 0 0 0 1 0 0 0
> i 1 0 0 0 0 1 0
> j 0 0 0 1 1 0 1
>
>
>
> > goo(7,3) # Siete rplicas y tres unos por rplica
> w w.1 w.2 w.3 w.4 w.5 w.6
> a 0 1 1 1 1 0 0
> b 0 0 0 1 0 0 0
> c 1 0 1 1 0 1 0
> d 0 0 1 0 0 0 0
> e 0 0 0 0 0 0 0
> f 0 1 0 0 0 0 1
> g 0 0 0 0 0 0 1
> h 1 0 0 0 1 1 1
> i 1 1 0 0 0 1 0
> j 0 0 0 0 1 0 0
>
>
>
>
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>
>
>
> El 11 de enero de 2013 22:21, Gabriel Trujillo Paucar
<gabriel_enter@hotmail.com> escribi:
>
>
> Gracias por la respuesta Daniel, pero de ese modo voy a tener diferentes
cantidades de "1" en mis filas, lo que necesito es poder ubicar un
"1" al azar en cualquiera de las filas, y esto repetirlo unas 50 veces
por ejemplo(para este caso solo lo puse 3 veces):
>
> M1
> A 1
> B 0
> C 0
> D 0
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 0
> C 0
> D 1
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 1
> C 0
> D 0
> E 0
> F 0
> G 0
>
> y depues ubicar dos "1" en cualquiera de las filas al azar y
repetirlo como lo hice en el caso anterior:
>
> M1
> A 1
> B 1
> C 0
> D 0
> E 0
> F 0
> G 0
>
> M1
> A 1
> B 0
> C 0
> D 1
> E 0
> F 0
> G 0
>
> M1
> A 0
> B 0
> C 1
> D 1
> E 0
> F 0
> G 0
>
> y asi sucesivamente con 3, 4, 5, etc, y necesitos tenerlos asi porque
despues voy a hacer un grafico con estos.
>
> Agradesco de antemano por su respuesta
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
>
>
>
> Date: Thu, 10 Jan 2013 17:16:37 -0300
>
> Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> From: daniel319@gmail.com
> To: gabriel_enter@hotmail.com
> CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org
>
>
>
> ?sample
>
>
>
> data.frame(a = letters[1:10], b = sample(0:1, 10, replace = TRUE))
>
>
> Daniel Merino
>
> El 10 de enero de 2013 16:13, Gabriel Trujillo Paucar
<gabriel_enter@hotmail.com> escribi:
>
>
> Gracias por responder Javier.
>
> Voy a revisar ese pdf. No es que los demas espacios queden en blanco, una
vez que los "1" ya esten colocados, los demas espacios serian
rellenados con "ceros".
>
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
>
> > Subject: Re: [R-es] Generacion de numeros al azar en data.frame
> > From: javier.ruben.marcuzzi@gmail.com
> > To: gabriel_enter@hotmail.com
> > CC: r-help-es@r-project.org
> > Date: Thu, 10 Jan 2013 11:51:49 -0300
>
>
> >
> > Estimado Gabriel
> >
> > Si, es posible y hay muchas formas.
> >
> > Te envo un link, dentro de este pdf que se puede descargar mira la
> > parte de random ... cundo genera nmeros al azar.
> >
> > Pero usted necesita 1 en algunos lugares. No entiendo bien porque deja
> > espacios vacos sin nmeros o NA, pero no importa, una idea es que si
> > los nmeros que genera al azar estn por debajo a arriba (mayor o menor)
> > del valor que usted desee, este pasa a valer 1, de lo contrario NA, o
> > nada.
> > www.ugr.es/~proman/PDF/Simulacion_R.pdf
> >
> > Tambin creo que se podra realizar de una forma ms eficiente.
> >
> > Javier
> >
> > El jue, 10-01-2013 a las 17:37 +0000, Gabriel Trujillo Paucar escribi:
> > > Saludos.
> > >
> > > Quisiera saber si existe una funcion para poder colocar valores
de 1 al azar dentro de un data.frame, para tener lo siguiente
> > >
> > > data.frame1:
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > >
> > >
> > > C
> > >
> > >
> > > D
> > > 1
> > >
> > > E
> > >
> > >
> > > F
> > >
> > >
> > > G
> > >
> > >
> > >
> > >
> > > data.frame2:
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > > 1
> > >
> > > C
> > >
> > >
> > > D
> > >
> > >
> > > E
> > >
> > >
> > > F
> > >
> > >
> > > G
> > >
> > >
> > >
> > >
> > > data.frame3:
> > >
> > >
> > >
> > > M1
> > >
> > > A
> > > 1
> > >
> > > B
> > >
> > >
> > > C
> > >
> > >
> > > D
> > >
> > >
> > > E
> > >
> > >
> > > F
> > > 1
> > >
> > > G
> > >
> > >
> > >
> > > Como veran necesito que me coloque valores de 1 en cualquiera de
las posiciones y ademas poder repetir esto, de manera que pueda tener varios
data.frame que se distinguirian en los diferentes 1 que tomen esa posicion, en
el caso de arriba es solo para dos filas, pero tambien quisiera saber para
colocarlos en 3, 4 ,5 filas esos "1" , se que se podria hacer manual,
pero despues de esto necesito generar una funcion.
> > >
> > > Les agradezco de antemano por su atencion
> > >
> > > Gabriel Antonio Trujillo Paucar
> > > Estudiante de Biologia
> > > 997603768
> > >
> > >
> > > [[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
>
>
>
>
> --
> Daniel
> [[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
_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Daniel
[[alternative HTML version deleted]]
Permíteme repasar tu mensaje, soy algo lento y eso me ayuda. # Tu tienes una matrix diagonal de 300 x 300 con obviamente 300 unos. Seguramente solo a titulo ilustrativo. data <- diag(1, 300, 300) data[1:10, 1:10] class(data) str(data) # Con esa matriz generas 1000 listas de una lista de 300 números que tienen en algún lugar unos, uno o no los tienen, y que en total son 1048 (para el seed 123) set.seed(123) a=replicate(1000,sample(data,size=300),simplify=F) class(a) class(a[1]) class(a[1][[1]]) sum(a[1][[1]]) sum(a[7][[1]]) sum(a[33][[1]]) sum(a[375][[1]]) sum(a[999][[1]]) abis=replicate(1000,sample(data,size=300),simplify=TRUE) colSums(abis) sum(colSums(abis)) str(a) # No entiendo para que haces esta segunda parte. df<- lapply(lapply(lapply(a,t),colSums),data.frame) class(df) class(df[1]) class(df[1][[1]]) sum(df[1][[1]]) sum(df[7][[1]]) sum(df[33][[1]]) sum(df[375][[1]]) sum(df[999][[1]]) # Hasta aquí llegué a la primer parte de tu planteo y me parece que no entiendo lo que dices o no entiendo tu objetivo ya que no me parece que estes obteniendo lo que declaras. # Para la segunda parte, tomando prestada la función de Jorge Velez, me parece que quieres hacer para la cantidad de unos por réplica i de 1 a 300, lo siguiente: jv <- f(i,300,1000) # no creo que por hacer un bucle 1:300 se pueda colgar, aunque no se si eso buscas. colSums(jv) Lamento pero puedo ayudarte con el motivo por el cual se te "cuelga" o cierra R con tu función, no la conozco, pero apostaría a que no es un problema de R. Daniel Merino El 14 de enero de 2013 17:33, Gabriel Trujillo Paucar < gabriel_enter@hotmail.com> escribió:> lapply(lapply(lapply(a,t),colSums),data.frame) >-- Daniel [[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-18 05:06 UTC
[R-es] Generacion de numeros al azar en data.frame
Disculpen por demorar en responder, aun tengo el problema de las
randomizaciones, sin embargo para al final realizar lo que necesito me he dado
cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo
una duda con un grafico de contorno de probabilidad.
Usando el package car, he podido hacer lo siguiente:
Datos 1:
#####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x
,y, levels=0.80, center.pch=F, plot.points=F,
add=F)###################################################
Obtengo un grafico sin mostrar los valores de x e y pero si la region de la
probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros
dos pares de datos para ver si es que se ubican dentro de la region de
probabilidad
########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))###########################################################
Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de
nombre de fila "B"Me gustaria que estos dos pares de datos aparescan
dentro del grafico con una etiqueta para cada uno que diga "A" y
"B" para reconocer cual es cual
Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con
el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de
datos distintos
Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de
Datos 2:
################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x,
y, levels=0.80, center.pch=F,
add=F)################################################
y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de
probabilidad, una que diga "Datos1" y otra "Datos2"
correspondiente a cada origen de datos que le pertence a cada una
Agradesco de antemano por su atencion
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
Date: Mon, 14 Jan 2013 18:54:56 -0300
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
From: daniel319@gmail.com
To: gabriel_enter@hotmail.com
CC: javier.ruben.marcuzzi@gmail.com; r-help-es@r-project.org
Permíteme repasar tu mensaje, soy algo lento y eso me ayuda.
# Tu tienes una matrix diagonal de 300 x 300 con obviamente 300 unos.
Seguramente solo a titulo ilustrativo.data <- diag(1, 300, 300)
data[1:10, 1:10]class(data)str(data)
# Con esa matriz generas 1000 listas de una lista de 300 números que tienen en
algún lugar unos, uno o no los tienen, y que en total son 1048 (para el seed
123)
set.seed(123)a=replicate(1000,sample(data,size=300),simplify=F)
class(a)class(a[1])class(a[1][[1]])sum(a[1][[1]])sum(a[7][[1]])sum(a[33][[1]])
sum(a[375][[1]])sum(a[999][[1]])abis=replicate(1000,sample(data,size=300),simplify=TRUE)
colSums(abis)sum(colSums(abis))str(a)
# No entiendo para que haces esta segunda parte.
df<-
lapply(lapply(lapply(a,t),colSums),data.frame)class(df)class(df[1])class(df[1][[1]])sum(df[1][[1]])sum(df[7][[1]])sum(df[33][[1]])sum(df[375][[1]])
sum(df[999][[1]])
# Hasta aquí llegué a la primer parte de tu planteo y me parece que no entiendo
lo que dices o no entiendo tu objetivo ya que no me parece que estes obteniendo
lo que declaras.
# Para la segunda parte, tomando prestada la función de Jorge Velez, me parece
que quieres hacer para la cantidad de unos por réplica i de 1 a 300, lo
siguiente:
jv <- f(i,300,1000) # no creo que
por hacer un bucle 1:300 se pueda colgar, aunque no se si eso buscas.
colSums(jv)
Lamento pero puedo ayudarte con el motivo por el cual se te "cuelga" o
cierra R con tu función, no la conozco, pero apostaría a que no es un problema
de R.
Daniel Merino
El 14 de enero de 2013 17:33, Gabriel Trujillo Paucar
<gabriel_enter@hotmail.com> escribió:
lapply(lapply(lapply(a,t),colSums),data.frame)
--
Daniel
[[alternative HTML version deleted]]
Hola Gabriel,
Podrias intentar lo siguiente:
# elipse inicial
require(car)
x=rnorm(100)
y=1+0.3*x+0.3*rnorm(100)
dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim range(y,
d$y))
# puntos a agregar
d <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))
with(d, points(x, y, pch = rownames(d), col = "blue"))
# nueva elipse
x=rnorm(100)
y=1+0.4*x+0.4*rnorm(100)
dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col =
''green'')
legend(''topleft'', c(''Datos
1'',''Datos 2''), text.col = c(2, 3), bg =
''white'')
Espero te sirva.
Jorge.-
2013/1/18 Gabriel Trujillo Paucar <>
>
> Disculpen por demorar en responder, aun tengo el problema de las
> randomizaciones, sin embargo para al final realizar lo que necesito me he
> dado cuenta queno es necesario hacer con todas las posibilidades, sin
> embargo tengo una duda con un grafico de contorno de probabilidad.
> Usando el package car, he podido hacer lo siguiente:
> Datos 1:
>
#####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x
> ,y, levels=0.80, center.pch=F, plot.points=F,
> add=F)###################################################
> Obtengo un grafico sin mostrar los valores de x e y pero si la region de
> la probabilidad indicada,sin embargo me gustaria introducir en ese grafico
> otros dos pares de datos para ver si es que se ubican dentro de la region
> de probabilidad
>
>
########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))###########################################################
> Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de
nombre
> de fila "B"Me gustaria que estos dos pares de datos aparescan
dentro del
> grafico con una etiqueta para cada uno que diga "A" y
"B" para reconocer
> cual es cual
> Mi segunda duda es poder superponer dos lineas de contorno de
> probabilidad, con el mismo levels de 0.80, sin embargo que estas dos
> provengan de un origen de datos distintos
> Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de
> Datos 2:
>
################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x,
> y, levels=0.80, center.pch=F,
> add=F)################################################
> y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de
> probabilidad, una que diga "Datos1" y otra "Datos2"
correspondiente a cada
> origen de datos que le pertence a cada una
> Agradesco de antemano por su atencion
>
>
>
> Gabriel Antonio Trujillo Paucar
> Estudiante de Biologia
> 997603768
>
>
>
[[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-19 17:13 UTC
[R-es] Generacion de numeros al azar en data.frame
Gracias por reponder Jorge, pero cuando corro en la consola lo que pusiste me
sale lo siguiente:
Error en plot.xy(xy.coords(x, y), type = type, ...) : plot.new no ha sido
llamado aún
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
From: jorgeivanvelez@gmail.com
Date: Fri, 18 Jan 2013 17:14:52 +1100
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
To: gabriel_enter@hotmail.com
CC: r-help-es@r-project.org
Hola Gabriel,
Podrias intentar lo siguiente:
# elipse inicialrequire(car)x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)
dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim =
range(y, d$y))
# puntos a agregard <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))
with(d, points(x, y, pch = rownames(d), col = "blue"))
# nueva elipsex=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80,
center.pch=F, add=TRUE, col = ''green'')
legend(''topleft'', c(''Datos
1'',''Datos 2''), text.col = c(2, 3), bg =
''white'')
Espero te sirva.Jorge.-
2013/1/18 Gabriel Trujillo Paucar <>
Disculpen por demorar en responder, aun tengo el problema de las
randomizaciones, sin embargo para al final realizar lo que necesito me he dado
cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo
una duda con un grafico de contorno de probabilidad.
Usando el package car, he podido hacer lo siguiente:
Datos 1:
#####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x
,y, levels=0.80, center.pch=F, plot.points=F,
add=F)###################################################
Obtengo un grafico sin mostrar los valores de x e y pero si la region de la
probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros
dos pares de datos para ver si es que se ubican dentro de la region de
probabilidad
########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))###########################################################
Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de
nombre de fila "B"Me gustaria que estos dos pares de datos aparescan
dentro del grafico con una etiqueta para cada uno que diga "A" y
"B" para reconocer cual es cual
Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con
el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de
datos distintos
Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de
Datos 2:
################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x,
y, levels=0.80, center.pch=F,
add=F)################################################
y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de
probabilidad, una que diga "Datos1" y otra "Datos2"
correspondiente a cada origen de datos que le pertence a cada una
Agradesco de antemano por su atencion
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
[[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-19 17:28 UTC
[R-es] Generacion de numeros al azar en data.frame
Encontre donde me estaba equivocando. Gracias, me sirvio de mucho.
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
From: jorgeivanvelez@gmail.com
Date: Fri, 18 Jan 2013 17:14:52 +1100
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
To: gabriel_enter@hotmail.com
CC: r-help-es@r-project.org
Hola Gabriel,
Podrias intentar lo siguiente:
# elipse inicialrequire(car)x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)
dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim =
range(y, d$y))
# puntos a agregard <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))
with(d, points(x, y, pch = rownames(d), col = "blue"))
# nueva elipsex=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80,
center.pch=F, add=TRUE, col = ''green'')
legend(''topleft'', c(''Datos
1'',''Datos 2''), text.col = c(2, 3), bg =
''white'')
Espero te sirva.Jorge.-
2013/1/18 Gabriel Trujillo Paucar <>
Disculpen por demorar en responder, aun tengo el problema de las
randomizaciones, sin embargo para al final realizar lo que necesito me he dado
cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo
una duda con un grafico de contorno de probabilidad.
Usando el package car, he podido hacer lo siguiente:
Datos 1:
#####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x
,y, levels=0.80, center.pch=F, plot.points=F,
add=F)###################################################
Obtengo un grafico sin mostrar los valores de x e y pero si la region de la
probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros
dos pares de datos para ver si es que se ubican dentro de la region de
probabilidad
########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))###########################################################
Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de
nombre de fila "B"Me gustaria que estos dos pares de datos aparescan
dentro del grafico con una etiqueta para cada uno que diga "A" y
"B" para reconocer cual es cual
Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con
el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de
datos distintos
Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de
Datos 2:
################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x,
y, levels=0.80, center.pch=F,
add=F)################################################
y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de
probabilidad, una que diga "Datos1" y otra "Datos2"
correspondiente a cada origen de datos que le pertence a cada una
Agradesco de antemano por su atencion
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
[[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-19 22:35 UTC
[R-es] Generacion de numeros al azar en data.frame
Una ultima pregunta, cuando coloco:
d <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))
pero en vez de poner de nombres de fila A y B coloco:
d <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("Asr","Bst"))
en el grafico solo me aparece "A" y "B", ¿Es que las
etiquetas de los datos solo pueden albergar un caracter o existe la manera para
que me salga en la etiqueta "Asr" y "Bst" completamente.
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
From: jorgeivanvelez@gmail.com
Date: Fri, 18 Jan 2013 17:14:52 +1100
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
To: gabriel_enter@hotmail.com
CC: r-help-es@r-project.org
Hola Gabriel,
Podrias intentar lo siguiente:
# elipse inicialrequire(car)x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)
dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim =
range(y, d$y))
# puntos a agregard <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))
with(d, points(x, y, pch = rownames(d), col = "blue"))
# nueva elipsex=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, y, levels=0.80,
center.pch=F, add=TRUE, col = ''green'')
legend(''topleft'', c(''Datos
1'',''Datos 2''), text.col = c(2, 3), bg =
''white'')
Espero te sirva.Jorge.-
2013/1/18 Gabriel Trujillo Paucar <>
Disculpen por demorar en responder, aun tengo el problema de las
randomizaciones, sin embargo para al final realizar lo que necesito me he dado
cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo
una duda con un grafico de contorno de probabilidad.
Usando el package car, he podido hacer lo siguiente:
Datos 1:
#####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x
,y, levels=0.80, center.pch=F, plot.points=F,
add=F)###################################################
Obtengo un grafico sin mostrar los valores de x e y pero si la region de la
probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros
dos pares de datos para ver si es que se ubican dentro de la region de
probabilidad
########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))###########################################################
Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de
nombre de fila "B"Me gustaria que estos dos pares de datos aparescan
dentro del grafico con una etiqueta para cada uno que diga "A" y
"B" para reconocer cual es cual
Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con
el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de
datos distintos
Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de
Datos 2:
################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x,
y, levels=0.80, center.pch=F,
add=F)################################################
y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de
probabilidad, una que diga "Datos1" y otra "Datos2"
correspondiente a cada origen de datos que le pertence a cada una
Agradesco de antemano por su atencion
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
[[alternative HTML version deleted]]
Gabriel, Basta reemplazar with(d, points(x, y, pch = rownames(d), col = "blue")) por with(d, text(x, y, rownames(d), col = "blue")) en el codigo que te envie inicialmente. Saludos, Jorge.- 2013/1/20 Gabriel Trujillo Paucar <>> Una ultima pregunta, cuando coloco: > > d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) > > pero en vez de poner de nombres de fila A y B coloco: > > d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("Asr","Bst")) > > en el grafico solo me aparece "A" y "B", ¿Es que las etiquetas de los > datos solo pueden albergar un caracter o existe la manera para que me salga > en la etiqueta "Asr" y "Bst" completamente. > > > *Gabriel Antonio Trujillo Paucar* > *Estudiante de Biologia* > * 997603768* > > > > ------------------------------ > From: > Date: Fri, 18 Jan 2013 17:14:52 +1100 > Subject: Re: [R-es] Generacion de numeros al azar en data.frame > To: gabriel_enter@hotmail.com > CC: r-help-es@r-project.org > > > Hola Gabriel, > > Podrias intentar lo siguiente: > > # elipse inicial > require(car) > x=rnorm(100) > y=1+0.3*x+0.3*rnorm(100) > dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim > range(y, d$y)) > > # puntos a agregar > d <- data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B")) > with(d, points(x, y, pch = rownames(d), col = "blue")) > > # nueva elipse > x=rnorm(100) > y=1+0.4*x+0.4*rnorm(100) > dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col = ''green'') > legend(''topleft'', c(''Datos 1'',''Datos 2''), text.col = c(2, 3), bg = ''white'') > > Espero te sirva. > Jorge.- > > > > 2013/1/18 Gabriel Trujillo Paucar <> > > > Disculpen por demorar en responder, aun tengo el problema de las > randomizaciones, sin embargo para al final realizar lo que necesito me he > dado cuenta queno es necesario hacer con todas las posibilidades, sin > embargo tengo una duda con un grafico de contorno de probabilidad. > Usando el package car, he podido hacer lo siguiente: > Datos 1: > #####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x > ,y, levels=0.80, center.pch=F, plot.points=F, > add=F)################################################### > Obtengo un grafico sin mostrar los valores de x e y pero si la region de > la probabilidad indicada,sin embargo me gustaria introducir en ese grafico > otros dos pares de datos para ver si es que se ubican dentro de la region > de probabilidad > > ########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))########################################################### > Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de nombre > de fila "B"Me gustaria que estos dos pares de datos aparescan dentro del > grafico con una etiqueta para cada uno que diga "A" y "B" para reconocer > cual es cual > Mi segunda duda es poder superponer dos lineas de contorno de > probabilidad, con el mismo levels de 0.80, sin embargo que estas dos > provengan de un origen de datos distintos > Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de > Datos 2: > ################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x, > y, levels=0.80, center.pch=F, > add=F)################################################ > y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de > probabilidad, una que diga "Datos1" y otra "Datos2" correspondiente a cada > origen de datos que le pertence a cada una > Agradesco de antemano por su atencion > > > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > > > >[[alternative HTML version deleted]]
Gabriel Trujillo Paucar
2013-Jan-22 19:31 UTC
[R-es] Generacion de numeros al azar en data.frame
Gracias por la ayuda Jorge, me salio bien.
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
From: gabriel_enter@hotmail.com
To: jorgeivanvelez@gmail.com
CC: r-help-es@r-project.org
Subject: RE: [R-es] Generacion de numeros al azar en data.frame
Date: Sat, 19 Jan 2013 22:35:50 +0000
Una ultima pregunta, cuando coloco:
d <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))
pero en vez de poner de nombres de fila A y B coloco:
d <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("Asr","Bst"))
en el grafico solo me aparece "A" y "B", ¿Es que las
etiquetas de los datos solo pueden albergar un caracter o existe la manera para
que me salga en la etiqueta "Asr" y "Bst" completamente.
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
From: jorgeivanvelez@gmail.com
Date: Fri, 18 Jan 2013 17:14:52 +1100
Subject: Re: [R-es] Generacion de numeros al azar en data.frame
To: gabriel_enter@hotmail.com
CC: r-help-es@r-project.org
Hola Gabriel,
Podrias intentar lo siguiente:
# elipse inicial
require(car)
x=rnorm(100)
y=1+0.3*x+0.3*rnorm(100)
dataEllipse(x ,y, levels=0.80, center.pch=F, xlim = range(d$x, x), ylim =
range(y, d$y))
# puntos a agregar
d <-
data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))
with(d, points(x, y, pch = rownames(d), col = "blue"))
# nueva elipse
x=rnorm(100)
y=1+0.4*x+0.4*rnorm(100)
dataEllipse(x, y, levels=0.80, center.pch=F, add=TRUE, col =
''green'')
legend(''topleft'', c(''Datos
1'',''Datos 2''), text.col = c(2, 3), bg =
''white'')
Espero te sirva.
Jorge.-
2013/1/18 Gabriel Trujillo Paucar <>
Disculpen por demorar en responder, aun tengo el problema de las
randomizaciones, sin embargo para al final realizar lo que necesito me he dado
cuenta queno es necesario hacer con todas las posibilidades, sin embargo tengo
una duda con un grafico de contorno de probabilidad.
Usando el package car, he podido hacer lo siguiente:
Datos 1:
#####################################x=rnorm(100)y=1+0.3*x+0.3*rnorm(100)dataEllipse(x
,y, levels=0.80, center.pch=F, plot.points=F,
add=F)###################################################
Obtengo un grafico sin mostrar los valores de x e y pero si la region de la
probabilidad indicada,sin embargo me gustaria introducir en ese grafico otros
dos pares de datos para ver si es que se ubican dentro de la region de
probabilidad
########################################################data.frame(x=c(1.5,0.2),y=c(-0.2,2.3),row.names=c("A","B"))###########################################################
Aca tengo dos pares de datos, uno de nombre de fila "A" y otro de
nombre de fila "B"Me gustaria que estos dos pares de datos aparescan
dentro del grafico con una etiqueta para cada uno que diga "A" y
"B" para reconocer cual es cual
Mi segunda duda es poder superponer dos lineas de contorno de probabilidad, con
el mismo levels de 0.80, sin embargo que estas dos provengan de un origen de
datos distintos
Por ejemplo mi linea de contorno que proviene de Datos 1 y otra de
Datos 2:
################################################x=rnorm(100)y=1+0.4*x+0.4*rnorm(100)dataEllipse(x,
y, levels=0.80, center.pch=F,
add=F)################################################
y ambas ubicarlas en un mismo grafico y poner una etiqueta a cada linea de
probabilidad, una que diga "Datos1" y otra "Datos2"
correspondiente a cada origen de datos que le pertence a cada una
Agradesco de antemano por su atencion
Gabriel Antonio Trujillo Paucar
Estudiante de Biologia
997603768
[[alternative HTML version deleted]]
Hola Gabriel, La solucion planteada por Eva funciona a la perfeccion. Sin embargo, creo que te beneficiarias enormemente si revisaras las funciones ?ifelse y ?"%in%" Saludos, Jorge.- 2013/1/25 Eva Prieto Castro <evapcastro@yahoo.es>> Hola, Gabriel: > > La función corregida es ésta: > > ABI <- function(x){ > MIBpa <- x > turb1<-5*MIBpa[match("PTUR-001",row.names(MIBpa)),] > > if(MIBpa[match("MGAS-001",row.names(MIBpa)),]==1||MIBpa[match("MGAS-002",row.names(MIBpa)),]==1){ > Coc2=3} else {if(MIBpa[match("MGAS-001",*row.names* > (MIBpa)),]==0&&MIBpa[match("MGAS-002",row.names(MIBpa)),]==0){ > Coc2=0}}} > > > Tenías un row en lugar de un row.names. > > Saludos. > > Eva > > > --- El *jue, 24/1/13, Gabriel Trujillo Paucar <gabriel_enter@hotmail.com>*escribió: > > > De: Gabriel Trujillo Paucar <gabriel_enter@hotmail.com> > Asunto: RE: [R-es] Ayuda con el bucle if > Para: "evapcastro@yahoo.es" <evapcastro@yahoo.es>, > jorgeivanvelez@gmail.com > CC: "r-help-es@r-project.org" <r-help-es@r-project.org> > Fecha: jueves, 24 de enero, 2013 21:58 > > > > Saludos una ultima pregunta, he creado una funcion en el bucle if la cual > es: > ##################################### > > ABI <- function(x){ > MIBpa <- x > turb1<-5*MIBpa[match("PTUR-001",row.names(MIBpa)),] > > if(MIBpa[match("MGAS-001",row.names(MIBpa)),]==1||MIBpa[match("MGAS-002",row.names(MIBpa)),]==1){ > Coc2=3} else > {if(MIBpa[match("MGAS-001",row(MIBpa)),]==0&&MIBpa[match("MGAS-002",row.names(MIBpa)),]==0){ > Coc2=0}}} > ##################################### > y tengo mi matriz : > ##################################### > a=data.frame(M1=c(1,0,0),row.names=c("PTUR-001","MGAS-001","MGAS-002")) > ##################################### > Cuando corro la funcion con mi matriz "a" me sale el siguiente mensaje: > Error in if (MIBpa[match("MGAS-001", row(MIBpa)), ] == 0 && > MIBpa[match("MGAS-002", : > missing value where TRUE/FALSE needed > No se donde estaria mi error, porque lo que deseo en el bucle if es que el > objeto "Coc2" que crea me de valor de 3 cuando en el data.frame para la > fila"MGAS-001" o "MGAS-002" tengan valor de 1 cualquiera de los dos y en el > caso de que ambos sean ceros, el objeto "Coc2" me de un valor de "0". > > Agradesco de antemano por su ayuda. > > > Gabriel Antonio Trujillo Paucar > Estudiante de Biologia > 997603768 > ________________________________ > > Date: Thu, 24 Jan 2013 07:40:08 +0000 > > From: evapcastro@yahoo.es <http://mc/compose?to=evapcastro@yahoo.es> > > Subject: Re: [R-es] Ayuda con el bucle if > > To: jorgeivanvelez@gmail.com<http://mc/compose?to=jorgeivanvelez@gmail.com>; > gabriel_enter@hotmail.com <http://mc/compose?to=gabriel_enter@hotmail.com> > > CC: r-help-es@r-project.org<http://mc/compose?to=r-help-es@r-project.org> > > > > Hola Gabriel, > > > > Después del "else" tiene que ir una asignación o un bloque, pero no > > puede ir directamente una condición, sin precederlo de un "if". > > > > Adapta tu ejemplo a esta estructura: > > > > if (a==1){ > > b=2 > > }else{if (a==2){ > > b=3} > > } > > > > Es un modo de hacerlo. > > > > Saludos. > > > > --- El jue, 24/1/13, Gabriel Trujillo Paucar > > <gabriel_enter@hotmail.com<http://mc/compose?to=gabriel_enter@hotmail.com>> > escribió: > > > > De: Gabriel Trujillo Paucar <gabriel_enter@hotmail.com<http://mc/compose?to=gabriel_enter@hotmail.com>> > > > Asunto: [R-es] Ayuda con el bucle if > > Para: jorgeivanvelez@gmail.com<http://mc/compose?to=jorgeivanvelez@gmail.com> > > CC: "r-help-es@r-project.org<http://mc/compose?to=r-help-es@r-project.org>" > <r-help-es@r-project.org <http://mc/compose?to=r-help-es@r-project.org>> > > Fecha: jueves, 24 de enero, 2013 06:20 > > > > > > Saludos nuevamente, estaba encontrando otra forma para poder encontrar > > la solucion al problema que escribi anteriormente y creo que la > > encontre solo que tengo un problema con el bucle if. Tengo un marco de > > datos como sigue: > > > > ###################################### > > > > > MIBpa=data.frame(M1=c(1,1,0),row.names=c("MGAS-001","MGAS-002","MGAS-003")) > > > > ######################################### > > > > y he generado un bucle if > > > > ################## > > > > > if(as.numeric(match("MGAS-001",row.names(MIBpa)))==1||as.numeric(match("MGAS-002",row.names(MIBpa)))==1){ > > > Coc2=3} > > else > > > (as.numeric(match("MGAS-001",row.names(MIBpa)))==0||as.numeric(match("MGAS-002",row.names(MIBpa)))==0){ > > > Coc2=0} > > > > ####################### > > > > Para que me dos resultados distintos (un "3" si se da la primera > > situacion y un "0" si se da la segunda) pero cuando corro el bucle me > > sale > > el siguiente mensaje: > > > > Error: inesperado ''else'' en "else" > > > > NO se en que me estoy equivocando > > > > > > > > > > > > > > > > Gabriel Antonio Trujillo Paucar > > Estudiante de Biologia > > 997603768 > > > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org <http://mc/compose?to=R-help-es@r-project.org>< > http:///mc/compose?to=R-help-es%40r-project.org> > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > >[[alternative HTML version deleted]]