Discussion:
[R-es] Crear bucle
Andrés Hirigoyen
2018-02-13 21:16:09 UTC
Permalink
Buenas tardes para ***@s
(de nuevo)

Tengo el siguiente dataframe:
margen<-c("A","B","A","B","A","B","A","B","A","B","A","B","A","B","A","B","A","B","A","B","A","B","A","B")
margen<-sort(margen, decreasing=T)
long<-c(9,12,22,36,36,98,58,47,54,87,26,36,35,91,10,20,36,57,30,69,32,33,36,37)

subzona<-c(1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7)
zona<-c(1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4)

data<-data.frame(Margen=margen, Zona=zona, Subzona=subzona,Long=long)

La Variable "zona" es creada a mano cuando dentro de un mismo "Margen" la
"subzona"==1.
Luego sigue valiendo 1 a medida que las observaciones de la "subzona"
avanzan (1,2,...n) . Cuando aparece una nueva observación ("subzona") con
el número 1, la "zona" cambia a 2 , luego a 3 etc. hasta q inicia en 1
cuando cambio de "Margen"

Me gustaría crear la variable Zona de forma automática, es decir cuando la
"subzona"==1, "zona" valdría 1, hasta que "subzona" valga 1 de nuevo allí
la "zona" valdrá 2 y así sucesivamente (hasta que cambie a "Margen"==2 e
inicia de nuevo).
Estoy con terribles líos con if ifelse loops... Espero haber sido claro

Saludos y desde ya muchas gracias



--

[[alternative HTML version deleted]]
Xavier-Andoni Tibau Alberdi
2018-02-13 21:19:19 UTC
Permalink
Creo que necesitas usar la funcion: ifelse().

Saludos!
Post by Andrés Hirigoyen
(de nuevo)
margen<-c("A","B","A","B","A","B","A","B","A","B","A","B","
A","B","A","B","A","B","A","B","A","B","A","B")
margen<-sort(margen, decreasing=T)
long<-c(9,12,22,36,36,98,58,47,54,87,26,36,35,91,10,20,36,
57,30,69,32,33,36,37)
subzona<-c(1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7)
zona<-c(1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4)
data<-data.frame(Margen=margen, Zona=zona, Subzona=subzona,Long=long)
La Variable "zona" es creada a mano cuando dentro de un mismo "Margen" la
"subzona"==1.
Luego sigue valiendo 1 a medida que las observaciones de la "subzona"
avanzan (1,2,...n) . Cuando aparece una nueva observación ("subzona") con
el número 1, la "zona" cambia a 2 , luego a 3 etc. hasta q inicia en 1
cuando cambio de "Margen"
Me gustaría crear la variable Zona de forma automática, es decir cuando la
"subzona"==1, "zona" valdría 1, hasta que "subzona" valga 1 de nuevo allí
la "zona" valdrá 2 y así sucesivamente (hasta que cambie a "Margen"==2 e
inicia de nuevo).
Estoy con terribles líos con if ifelse loops... Espero haber sido claro
Saludos y desde ya muchas gracias
--
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]
Andrés Hirigoyen
2018-02-13 21:26:33 UTC
Permalink
Xavier el tema que no logro solucionar es pasar de subzona==1 a subzona==2.
Probé con ifelse pero me cambia los valores de toda la columan cuando
cambia de zona.
Gracias por responder

El 13 de febrero de 2018, 18:19, Xavier-Andoni Tibau Alberdi<
Post by Xavier-Andoni Tibau Alberdi
Creo que necesitas usar la funcion: ifelse().
Saludos!
Post by Andrés Hirigoyen
(de nuevo)
margen<-c("A","B","A","B","A","B","A","B","A","B","A","B","A
","B","A","B","A","B","A","B","A","B","A","B")
margen<-sort(margen, decreasing=T)
long<-c(9,12,22,36,36,98,58,47,54,87,26,36,35,91,10,20,36,57
,30,69,32,33,36,37)
subzona<-c(1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7)
zona<-c(1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4)
data<-data.frame(Margen=margen, Zona=zona, Subzona=subzona,Long=long)
La Variable "zona" es creada a mano cuando dentro de un mismo "Margen" la
"subzona"==1.
Luego sigue valiendo 1 a medida que las observaciones de la "subzona"
avanzan (1,2,...n) . Cuando aparece una nueva observación ("subzona") con
el número 1, la "zona" cambia a 2 , luego a 3 etc. hasta q inicia en 1
cuando cambio de "Margen"
Me gustaría crear la variable Zona de forma automática, es decir cuando la
"subzona"==1, "zona" valdría 1, hasta que "subzona" valga 1 de nuevo allí
la "zona" valdrá 2 y así sucesivamente (hasta que cambie a "Margen"==2 e
inicia de nuevo).
Estoy con terribles líos con if ifelse loops... Espero haber sido claro
Saludos y desde ya muchas gracias
--
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *

*http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/web/>*

[[alternative HTML version deleted]]
Xavier-Andoni Tibau Alberdi
2018-02-13 21:32:16 UTC
Permalink
Perdona, toda la razón, no miré bien el problema antes de responder.

Seguro que hay una manera más eficiente. Pero yo lo haría con un bucle,
luego usas una bariable dummy, digamos zonna_d, que incremente su valor en
1 cada vez que subzona es ==1. Entonces zona = zonna_d.

Se entiende?

Saludos,

Xavier
Post by Andrés Hirigoyen
Xavier el tema que no logro solucionar es pasar de subzona==1 a
subzona==2. Probé con ifelse pero me cambia los valores de toda la columan
cuando cambia de zona.
Gracias por responder
El 13 de febrero de 2018, 18:19, Xavier-Andoni Tibau Alberdi<
Post by Xavier-Andoni Tibau Alberdi
Creo que necesitas usar la funcion: ifelse().
Saludos!
Post by Andrés Hirigoyen
(de nuevo)
margen<-c("A","B","A","B","A","B","A","B","A","B","A","B","A
","B","A","B","A","B","A","B","A","B","A","B")
margen<-sort(margen, decreasing=T)
long<-c(9,12,22,36,36,98,58,47,54,87,26,36,35,91,10,20,36,57
,30,69,32,33,36,37)
subzona<-c(1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7)
zona<-c(1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4)
data<-data.frame(Margen=margen, Zona=zona, Subzona=subzona,Long=long)
La Variable "zona" es creada a mano cuando dentro de un mismo "Margen" la
"subzona"==1.
Luego sigue valiendo 1 a medida que las observaciones de la "subzona"
avanzan (1,2,...n) . Cuando aparece una nueva observación ("subzona") con
el número 1, la "zona" cambia a 2 , luego a 3 etc. hasta q inicia en 1
cuando cambio de "Margen"
Me gustaría crear la variable Zona de forma automática, es decir cuando la
"subzona"==1, "zona" valdría 1, hasta que "subzona" valga 1 de nuevo allí
la "zona" valdrá 2 y así sucesivamente (hasta que cambie a "Margen"==2 e
inicia de nuevo).
Estoy con terribles líos con if ifelse loops... Espero haber sido claro
Saludos y desde ya muchas gracias
--
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *
*http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/web/>*
[[alternative HTML version deleted]]
Carlos Ortega
2018-02-13 21:38:44 UTC
Permalink
Hola,

Una forma puede ser la siguiente...
Para comparar, he creado una nueva columna "new_zona" que es la que se va
rellenando con un bucle...

#-------------------
cont <- 1
new_zona <- 0
for(i in 1:nrow(data)) {
+ new_zona[i] <- cont
+ if(data$Subzona[i] == 1 & i > 1) {
+ cont <- cont + 1
+ new_zona[i] <- cont
+ }
+ }
data$new_zona <- new_zona
data
Margen Zona Subzona Long new_zona
1 B 1 1 9 1
2 B 1 2 12 1
3 B 1 3 22 1
4 B 1 4 36 1
5 B 1 5 36 1
6 B 1 6 98 1
7 B 2 1 58 2
8 B 2 2 47 2
9 B 2 3 54 2
10 B 2 4 87 2
11 B 2 5 26 2
12 B 3 1 36 3
13 A 3 2 35 3
14 A 3 3 91 3
15 A 3 4 10 3
16 A 3 5 20 3
17 A 3 6 36 3
18 A 4 1 57 4
19 A 4 2 30 4
20 A 4 3 69 4
21 A 4 4 32 4
22 A 4 5 33 4
23 A 4 6 36 4
24 A 4 7 37 4
Saludos,
Carlos Ortega
www.qualityexcellence.es



El 13 de febrero de 2018, 22:32, Xavier-Andoni Tibau Alberdi <
Perdona, toda la razón, no miré bien el problema antes de responder.
Seguro que hay una manera más eficiente. Pero yo lo haría con un bucle,
luego usas una bariable dummy, digamos zonna_d, que incremente su valor en
1 cada vez que subzona es ==1. Entonces zona = zonna_d.
Se entiende?
Saludos,
Xavier
Post by Andrés Hirigoyen
Xavier el tema que no logro solucionar es pasar de subzona==1 a
subzona==2. Probé con ifelse pero me cambia los valores de toda la
columan
Post by Andrés Hirigoyen
cuando cambia de zona.
Gracias por responder
El 13 de febrero de 2018, 18:19, Xavier-Andoni Tibau Alberdi<
Post by Xavier-Andoni Tibau Alberdi
Creo que necesitas usar la funcion: ifelse().
Saludos!
Post by Andrés Hirigoyen
(de nuevo)
margen<-c("A","B","A","B","A","B","A","B","A","B","A","B","A
","B","A","B","A","B","A","B","A","B","A","B")
margen<-sort(margen, decreasing=T)
long<-c(9,12,22,36,36,98,58,47,54,87,26,36,35,91,10,20,36,57
,30,69,32,33,36,37)
subzona<-c(1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7)
zona<-c(1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4)
data<-data.frame(Margen=margen, Zona=zona, Subzona=subzona,Long=long)
La Variable "zona" es creada a mano cuando dentro de un mismo "Margen"
la
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
"subzona"==1.
Luego sigue valiendo 1 a medida que las observaciones de la "subzona"
avanzan (1,2,...n) . Cuando aparece una nueva observación ("subzona")
con
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
el número 1, la "zona" cambia a 2 , luego a 3 etc. hasta q inicia en 1
cuando cambio de "Margen"
Me gustaría crear la variable Zona de forma automática, es decir cuando la
"subzona"==1, "zona" valdría 1, hasta que "subzona" valga 1 de nuevo
allí
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
la "zona" valdrá 2 y así sucesivamente (hasta que cambie a "Margen"==2
e
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
inicia de nuevo).
Estoy con terribles líos con if ifelse loops... Espero haber sido claro
Saludos y desde ya muchas gracias
--
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *
*http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/web/>*
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]
Andrés Hirigoyen
2018-02-13 21:42:00 UTC
Permalink
Excelente Carlos, muchas gracias. Me maree con [i] en el bucle que hacia.
Saludos
Post by Carlos Ortega
Hola,
Una forma puede ser la siguiente...
Para comparar, he creado una nueva columna "new_zona" que es la que se va
rellenando con un bucle...
#-------------------
cont <- 1
new_zona <- 0
for(i in 1:nrow(data)) {
+ new_zona[i] <- cont
+ if(data$Subzona[i] == 1 & i > 1) {
+ cont <- cont + 1
+ new_zona[i] <- cont
+ }
+ }
data$new_zona <- new_zona
data
Margen Zona Subzona Long new_zona
1 B 1 1 9 1
2 B 1 2 12 1
3 B 1 3 22 1
4 B 1 4 36 1
5 B 1 5 36 1
6 B 1 6 98 1
7 B 2 1 58 2
8 B 2 2 47 2
9 B 2 3 54 2
10 B 2 4 87 2
11 B 2 5 26 2
12 B 3 1 36 3
13 A 3 2 35 3
14 A 3 3 91 3
15 A 3 4 10 3
16 A 3 5 20 3
17 A 3 6 36 3
18 A 4 1 57 4
19 A 4 2 30 4
20 A 4 3 69 4
21 A 4 4 32 4
22 A 4 5 33 4
23 A 4 6 36 4
24 A 4 7 37 4
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 13 de febrero de 2018, 22:32, Xavier-Andoni Tibau Alberdi <
Perdona, toda la razón, no miré bien el problema antes de responder.
Seguro que hay una manera más eficiente. Pero yo lo haría con un bucle,
luego usas una bariable dummy, digamos zonna_d, que incremente su valor en
1 cada vez que subzona es ==1. Entonces zona = zonna_d.
Se entiende?
Saludos,
Xavier
Post by Andrés Hirigoyen
Xavier el tema que no logro solucionar es pasar de subzona==1 a
subzona==2. Probé con ifelse pero me cambia los valores de toda la
columan
Post by Andrés Hirigoyen
cuando cambia de zona.
Gracias por responder
El 13 de febrero de 2018, 18:19, Xavier-Andoni Tibau Alberdi<
Post by Xavier-Andoni Tibau Alberdi
Creo que necesitas usar la funcion: ifelse().
Saludos!
Post by Andrés Hirigoyen
(de nuevo)
margen<-c("A","B","A","B","A","B","A","B","A","B","A","B","A
","B","A","B","A","B","A","B","A","B","A","B")
margen<-sort(margen, decreasing=T)
long<-c(9,12,22,36,36,98,58,47,54,87,26,36,35,91,10,20,36,57
,30,69,32,33,36,37)
subzona<-c(1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7)
zona<-c(1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4)
data<-data.frame(Margen=margen, Zona=zona,
Subzona=subzona,Long=long)
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
La Variable "zona" es creada a mano cuando dentro de un mismo
"Margen" la
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
"subzona"==1.
Luego sigue valiendo 1 a medida que las observaciones de la "subzona"
avanzan (1,2,...n) . Cuando aparece una nueva observación ("subzona")
con
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
el número 1, la "zona" cambia a 2 , luego a 3 etc. hasta q inicia en 1
cuando cambio de "Margen"
Me gustaría crear la variable Zona de forma automática, es decir
cuando
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
la
"subzona"==1, "zona" valdría 1, hasta que "subzona" valga 1 de nuevo
allí
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
la "zona" valdrá 2 y así sucesivamente (hasta que cambie a
"Margen"==2 e
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
inicia de nuevo).
Estoy con terribles líos con if ifelse loops... Espero haber sido
claro
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
Saludos y desde ya muchas gracias
--
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *
*http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/web/>*
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
--
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *

*http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/web/>*

[[alternative HTML version deleted]]
Proyecto R-UCA
2018-02-14 06:45:41 UTC
Permalink
data <- read.table("/tmp/a.csv", header=TRUE, sep="",
na.strings="NA", dec=".", strip.white=TRUE)
new_zon <- as.numeric(diff(data$Subzona) < 0)
new_zon <- c(1, new_zon)
new_zon <- cumsum(new_zon)
data$new_zon <- new_zon
data
Margen Zona Subzona Long new_zona new_zon
1 B 1 1 9 1 1
2 B 1 2 12 1 1
3 B 1 3 22 1 1
4 B 1 4 36 1 1
5 B 1 5 36 1 1
6 B 1 6 98 1 1
7 B 2 1 58 2 2
8 B 2 2 47 2 2
9 B 2 3 54 2 2
10 B 2 4 87 2 2
11 B 2 5 26 2 2
12 B 3 1 36 3 3
13 A 3 2 35 3 3
14 A 3 3 91 3 3
15 A 3 4 10 3 3
16 A 3 5 20 3 3
17 A 3 6 36 3 3
18 A 4 1 57 4 4
19 A 4 2 30 4 4
20 A 4 3 69 4 4
21 A 4 4 32 4 4
22 A 4 5 33 4 4
23 A 4 6 36 4 4
24 A 4 7 37 4 4

Un saludo.
Excelente Carlos, muchas gracias. Me maree con [i] en el bucle que hacia.
Saludos
es>
Post by Carlos Ortega
Hola,
Una forma puede ser la siguiente...
Para comparar, he creado una nueva columna "new_zona" que es la que se va
rellenando con un bucle...
#-------------------
cont <- 1
new_zona <- 0
for(i in 1:nrow(data)) {
+ new_zona[i] <- cont
+ if(data$Subzona[i] == 1 & i > 1) {
+ cont <- cont + 1
+ new_zona[i] <- cont
+ }
+ }
data$new_zona <- new_zona
data
Margen Zona Subzona Long new_zona
1 B 1 1 9 1
2 B 1 2 12 1
3 B 1 3 22 1
4 B 1 4 36 1
5 B 1 5 36 1
6 B 1 6 98 1
7 B 2 1 58 2
8 B 2 2 47 2
9 B 2 3 54 2
10 B 2 4 87 2
11 B 2 5 26 2
12 B 3 1 36 3
13 A 3 2 35 3
14 A 3 3 91 3
15 A 3 4 10 3
16 A 3 5 20 3
17 A 3 6 36 3
18 A 4 1 57 4
19 A 4 2 30 4
20 A 4 3 69 4
21 A 4 4 32 4
22 A 4 5 33 4
23 A 4 6 36 4
24 A 4 7 37 4
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 13 de febrero de 2018, 22:32, Xavier-Andoni Tibau Alberdi <
Perdona, toda la razón, no miré bien el problema antes de responder.
Seguro que hay una manera más eficiente. Pero yo lo haría con un bucle,
luego usas una bariable dummy, digamos zonna_d, que incremente su valor en
1 cada vez que subzona es ==1. Entonces zona = zonna_d.
Se entiende?
Saludos,
Xavier
Post by Andrés Hirigoyen
Xavier el tema que no logro solucionar es pasar de subzona==1 a
subzona==2. Probé con ifelse pero me cambia los valores de toda la
columan
Post by Andrés Hirigoyen
cuando cambia de zona.
Gracias por responder
El 13 de febrero de 2018, 18:19, Xavier-Andoni Tibau Alberdi<
Post by Xavier-Andoni Tibau Alberdi
Creo que necesitas usar la funcion: ifelse().
Saludos!
ail.com>
Post by Andrés Hirigoyen
(de nuevo)
margen<-
c("A","B","A","B","A","B","A","B","A","B","A","B","A
","B","A","B","A","B","A","B","A","B","A","B")
margen<-sort(margen, decreasing=T)
long<-
c(9,12,22,36,36,98,58,47,54,87,26,36,35,91,10,20,36,57
,30,69,32,33,36,37)
subzona<-c(1,2,3,4,5,6,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7)
zona<-c(1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,4,4)
data<-data.frame(Margen=margen, Zona=zona,
Subzona=subzona,Long=long)
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
La Variable "zona" es creada a mano cuando dentro de un mismo
"Margen" la
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
"subzona"==1.
Luego sigue valiendo 1 a medida que las observaciones de la "subzona"
avanzan (1,2,...n) . Cuando aparece una nueva observación ("subzona")
con
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
el número 1, la "zona" cambia a 2 , luego a 3 etc. hasta q inicia en 1
cuando cambio de "Margen"
Me gustaría crear la variable Zona de forma automática, es decir
cuando
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
la
"subzona"==1, "zona" valdría 1, hasta que "subzona" valga 1 de nuevo
allí
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
la "zona" valdrá 2 y así sucesivamente (hasta que cambie a
"Margen"==2 e
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
inicia de nuevo).
Estoy con terribles líos con if ifelse loops... Espero haber sido
claro
Post by Andrés Hirigoyen
Post by Xavier-Andoni Tibau Alberdi
Post by Andrés Hirigoyen
Saludos y desde ya muchas gracias
--
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
*Andrés Hirigoyen*
* Prof. Ciencias Biológicas*
*Ing. Agr. Forestal (MSc) *
*http://andreshirigoyen.com/web/ <http://andreshirigoyen.com/we
b/>*
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
Francisco Javier Ibáñez López
2018-02-14 12:41:28 UTC
Permalink
Buenos días a ***@s,

Tengo una base de datos con 28 sujetos, a los cuales se les mide un
montón de elementos (tengo 27 variables dependientes) en tres tiempos
distintos (un total de 84 mediciones por variable). Busco comparar unas
variables con otras.

¿Alguien me ayuda con el modelo estadístico a seguir para poder analizarlos?

Gracias por todo.

Saludos,

Fran
--
Francisco Javier Ibáñez López
Sección de Apoyo Estadístico
Servicio de Apoyo a la Investigación
Universidad de Murcia
Email: ***@um.es
Telf.: 868 88 7315; Fax: 868 88 7302
Edificio SACE, Campus de Espinardo, 30100
Murcia
Javier Marcuzzi
2018-02-14 12:51:31 UTC
Permalink
Estimado Francisco Javier Ibáñes López

Puede utilizar un ejemplo de lme4 o nlme, hay algunos sobre trabajador,
máquina, y le agregan algunas cosas mezclando y complicando el modelo, no
recuerdo bien en que libro leí estos o si eran dentro de las ayudas
públicas. Algo que puede ser importante es variable_a + variable_b, contra
variable_a * variable_b, pero bueno, eso está en los manuales de la
librería que desee utilizar.

Javier Rubén Marcuzzi
Tengo una base de datos con 28 sujetos, a los cuales se les mide un montón
de elementos (tengo 27 variables dependientes) en tres tiempos distintos
(un total de 84 mediciones por variable). Busco comparar unas variables con
otras.
¿Alguien me ayuda con el modelo estadístico a seguir para poder analizarlos?
Gracias por todo.
Saludos,
Fran
--
Francisco Javier Ibáñez López
Sección de Apoyo Estadístico
Servicio de Apoyo a la Investigación
Universidad de Murcia
Telf.: 868 88 7315; Fax: 868 88 7302
Edificio SACE, Campus de Espinardo, 30100
Murcia
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
[[alternative HTML version deleted]]
Francisco Javier Ibáñez López
2018-02-14 12:59:58 UTC
Permalink
Gracias Javier Rubén, muy amable.

Echaré un vistazo.

Saludos,
Post by Javier Marcuzzi
Estimado Francisco Javier Ibáñes López
Puede utilizar un ejemplo de lme4 o nlme, hay algunos sobre
trabajador, máquina, y le agregan algunas cosas mezclando y
complicando el modelo, no recuerdo bien en que libro leí estos o si
eran dentro de las ayudas públicas. Algo que puede ser importante es
variable_a + variable_b, contra variable_a * variable_b, pero bueno,
eso está en los manuales de la librería que desee utilizar.
Javier Rubén Marcuzzi
El 14 de febrero de 2018, 9:41, Francisco Javier Ibáñez López
Tengo una base de datos con 28 sujetos, a los cuales se les mide
un montón de elementos (tengo 27 variables dependientes) en tres
tiempos distintos (un total de 84 mediciones por variable). Busco
comparar unas variables con otras.
¿Alguien me ayuda con el modelo estadístico a seguir para poder analizarlos?
Gracias por todo.
Saludos,
Fran
--
Francisco Javier Ibáñez López
Sección de Apoyo Estadístico
Servicio de Apoyo a la Investigación
Universidad de Murcia
Telf.: 868 88 7315; Fax: 868 88 7302
Edificio SACE, Campus de Espinardo, 30100
Murcia
_______________________________________________
R-help-es mailing list
https://stat.ethz.ch/mailman/listinfo/r-help-es
<https://stat.ethz.ch/mailman/listinfo/r-help-es>
--
Francisco Javier Ibáñez López
Sección de Apoyo Estadístico
Servicio de Apoyo a la Investigación
Universidad de Murcia
Email: ***@um.es
Telf.: 868 88 7315; Fax: 868 88 7302
Edificio SACE, Campus de Espinardo, 30100
Murcia


[[alternative HTML version deleted]]
Freddy Omar López Quintero
2018-02-14 13:29:13 UTC
Permalink
Holap.

El mié, 14-02-2018 a las 13:41 +0100, Francisco Javier Ibáñez López
Post by Francisco Javier Ibáñez López
Tengo una base de datos con 28 sujetos, a los cuales se les mide un
montón de elementos (tengo 27 variables dependientes) en tres
tiempos
distintos (un total de 84 mediciones por variable). Busco comparar unas
variables con otras.
¿Alguien me ayuda con el modelo estadístico a seguir para poder analizarlos?
Además de los modelos individuales longitudinales que puedes ajustar
para cada variable dependiente, puedes explorar:

* Modelos de medidas repetidas para datos multivariantes. Aquí se
evalúa cómo evolucionan p variables respuesta sobre n individuos en t
momentos diferentes. Son modelos intermedios entre MANOVAs y modelos de
curvas de crecimiento. La §6.9 del clásico Johnson & Wichern (2007)
está dedicado a esto y R cuenta con la función manova() en la base.
* Parecido a lo anterior, pero cuando la respuesta no es normal
(continua) hay modelos generalizados multivariantes para alcanzar lo
mismo, aunque no he visto un modelo de estos manejando tantas variables
respuestas (27) como en tu caso. Hubo un paquete de nombre sabreR (http
://www.sabre.lancs.ac.uk/sabreRuse_intro.html) que servía para estos
menesteres. Como estoy desactualizado y estoy viendo que ya no existe
en CRAN, alguien más seguramente te dará el nombre de un paquete vivo
para hacer esto.

Ahora, un posible problema que puedas tener, es que tienes más o menos
la misma cantidad de variables que de individuos, y cualquier matriz de
covarianza que calcules, si la puedes calcular, será inestable y poco
convincente. Cuenta la leyenda que regularizando (modelos lasso y
relacionados) puedes sacarle provecho. Si lo haces, podrías
compartirnos luego cómo jeje.

Ojalá sirva de algo.

¡Salud!
--
«...homines autem hominum causa esse generatos...»

Cicero
[[alternative HTML version deleted]]
Francisco Javier Ibáñez López
2018-02-14 14:02:28 UTC
Permalink
¡¡Genial, muchas gracias por la ayuda!!!

Indagaré a ver qué consigo.

Saludos,
Post by Freddy Omar López Quintero
Holap.
El mié, 14-02-2018 a las 13:41 +0100, Francisco Javier Ibáñez López
Post by Francisco Javier Ibáñez López
Tengo una base de datos con 28 sujetos, a los cuales se les mide un
montón de elementos (tengo 27 variables dependientes) en tres tiempos
distintos (un total de 84 mediciones por variable). Busco comparar unas
variables con otras.
¿Alguien me ayuda con el modelo estadístico a seguir para poder analizarlos?
Además de los modelos individuales longitudinales que puedes ajustar
* Modelos de medidas repetidas para datos multivariantes. Aquí se
evalúa cómo evolucionan p variables respuesta sobre n individuos
en t momentos diferentes. Son modelos intermedios entre MANOVAs y
modelos de curvas de crecimiento. La §6.9 del clásico Johnson &
Wichern (2007) está dedicado a esto y R cuenta con la función
manova() en la base.
* Parecido a lo anterior, pero cuando la respuesta no es normal
(continua) hay modelos generalizados multivariantes para alcanzar
lo mismo, aunque no he visto un modelo de estos manejando tantas
variables respuestas (27) como en tu caso. Hubo un paquete de
nombre sabreR (http://www.sabre.lancs.ac.uk/sabreRuse_intro.html)
que servía para estos menesteres. Como estoy desactualizado y
estoy viendo que ya no existe en CRAN, alguien más seguramente te
dará el nombre de un paquete vivo para hacer esto.
Ahora, un posible problema que puedas tener, es que tienes más o menos
la misma cantidad de variables que de individuos, y cualquier matriz
de covarianza que calcules, si la puedes calcular, será inestable y
poco convincente. Cuenta la leyenda que regularizando (modelos lasso y
relacionados) puedes sacarle provecho. Si lo haces, podrías
compartirnos luego cómo jeje.
Ojalá sirva de algo.
¡Salud!
--
«...homines autem hominum causa esse generatos...»
Cicero
--
Francisco Javier Ibáñez López
Sección de Apoyo Estadístico
Servicio de Apoyo a la Investigación
Universidad de Murcia
Email: ***@um.es
Telf.: 868 88 7315; Fax: 868 88 7302
Edificio SACE, Campus de Espinardo, 30100
Murcia


[[alternative HTML version deleted]]
Loading...