[R-es] Subset dentro de un for

2018-12-12 Thread Manuel Mendoza
Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace  
un subset con el que se queda con las muestras para la que cierta  
variable es positiva.


Si hago esto, sale bien:

df2<-subset(df, subset = var1>0)


Pero he probado así (y de no sé cuantas formas más), antes de hacer el  
for, y no sale:


GT<- c("var1","var2", … )

df2<-subset(df, subset=(GT[1]>0))

Gracias,
Manuel


























.

--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural Science (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Subset dentro de un for

2018-12-12 Thread Raúl Vaquerizo

Hola,

Puedes hacer el mítico eval parse paste:

for (i in seq(1,maximo)){
  eval(parse(text=paste('df',i,'<-subset(df, subset = 
var',i,'>0)',sep='')))

}

Saludos.

El 12/12/2018 14:08, Manuel Mendoza escribió:

Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace
un subset con el que se queda con las muestras para la que cierta
variable es positiva.

Si hago esto, sale bien:

df2<-subset(df, subset = var1>0)


Pero he probado así (y de no sé cuantas formas más), antes de hacer el
 for, y no sale:

GT<- c("var1","var2", … )

df2<-subset(df, subset=(GT[1]>0))

Gracias,
Manuel



___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Subset dentro de un for

2018-12-12 Thread Carlos Ortega
Esta es una forma...

> for(i in c('Ozone', 'Solar.R')) {
+   print(i)
+   sub_data <- subset(airquality, eval(parse(text=i)) < 100)
+   res_ult <- mean(sub_data$Temp, na.rm = TRUE)
+   print(res_ult)
+ }
[1] "Ozone"
[1] 77.34862
[1] "Solar.R"
[1] 71.85294

Y otra forma à la dplyr...:

> library(rlang)
> for(i in c('Ozone', 'Solar.R')) {
+   print(i)
+   res_ult <- airquality %>%
+ filter(!!sym(i) < 100) %>%
+ summarize(Media = mean(Temp, na.rm = TRUE))
+   print(res_ult)
+ }
[1] "Ozone"
 Media
1 77.34862
[1] "Solar.R"
 Media
1 71.85294

Saludos,
Carlos Ortega
www.qualityexcellence.es



El mié., 12 dic. 2018 a las 14:09, Manuel Mendoza ()
escribió:

> Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace
> un subset con el que se queda con las muestras para la que cierta
> variable es positiva.
>
> Si hago esto, sale bien:
>
> df2<-subset(df, subset = var1>0)
>
>
> Pero he probado así (y de no sé cuantas formas más), antes de hacer el
> for, y no sale:
>
> GT<- c("var1","var2", … )
>
> df2<-subset(df, subset=(GT[1]>0))
>
> Gracias,
> Manuel
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> .
>
> --
> Dr Manuel Mendoza
> Department of Biogeography and Global Change
> National Museum of Natural Science (MNCN)
> Spanish Scientific Council (CSIC)
> C/ Serrano 115bis, 28006 MADRID
> Spain
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Subset dentro de un for

2018-12-12 Thread Marcelino De La Cruz Rot
Hola, Manuel:

Tienes que usar get:

subset(df, subset=get(GT[1])>0)





El 12/12/2018 a las 14:08, Manuel Mendoza escribió:
> Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace 
> un subset con el que se queda con las muestras para la que cierta 
> variable es positiva.
>
> Si hago esto, sale bien:
>
> df2<-subset(df, subset = var1>0)
>
>
> Pero he probado así (y de no sé cuantas formas más), antes de hacer el 
> for, y no sale:
>
> GT<- c("var1","var2", … )
>
> df2<-subset(df, subset=(GT[1]>0))
>
> Gracias,
> Manuel
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> .
>

-- 
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Subset dentro de un for

2018-12-12 Thread Manuel Mendoza



Gracias a los tres, Raúl, Marcelino y Carlos.

Lo del "get" de Marcelino me da la respuesta a lo que yo exactamente  
preguntaba, y funciona, pero ahora tengo problemas con el for, por lo  
que probablemente recurra al eval parse de Raúl o Carlos, que ya  
tienen el for. Aún así, lo intento 1º con el get.


Con subset(df, subset=get(GT[i])>0) el problema es que en el for hago  
un ggplot cuyo color es = a la variable que condiciona el subset, y no  
funciona poniendo GT[i] (como se ve abajo). Pretendo que me haga 20  
mapas, cada uno de acuerdo a una de las 20 variables de GT.


GT<- c("var1","var2", … "var20")

for(i in GT) {

df2<-subset(df1, subset=get(GT[i])>0)

windows();print(ggplot(legend=FALSE)+geom_path( data=world,  
aes(x=long, y=lat,group=group))+
 
theme(panel.background=element_blank())+theme(panel.grid.major =  
element_blank())+
theme(panel.grid.minor =  
element_blank())+theme(axis.text.x=element_blank(),axis.text.y=element_blank())+

theme(axis.ticks = element_blank())+xlab("") + ylab("")+
geom_point(data=df2,aes(x=lon,y=lat,

color= GT[i],size=2) +

 
scale_colour_gradient(low=("white"),high=("red"),guide="colourbar",limits=c(0,max))+

geom_path(data=map_data('world'), aes(x=long, y=lat,group=group))+
labs(title =  paste("5026 Minimum number of IFd species to go  
extinct"


}








Quoting Carlos Ortega :


Esta es una forma...


for(i in c('Ozone', 'Solar.R')) {

+   print(i)
+   sub_data <- subset(airquality, eval(parse(text=i)) < 100)
+   res_ult <- mean(sub_data$Temp, na.rm = TRUE)
+   print(res_ult)
+ }
[1] "Ozone"
[1] 77.34862
[1] "Solar.R"
[1] 71.85294

Y otra forma à la dplyr...:


library(rlang)
for(i in c('Ozone', 'Solar.R')) {

+   print(i)
+   res_ult <- airquality %>%
+ filter(!!sym(i) < 100) %>%
+ summarize(Media = mean(Temp, na.rm = TRUE))
+   print(res_ult)
+ }
[1] "Ozone"
 Media
1 77.34862
[1] "Solar.R"
 Media
1 71.85294

Saludos,
Carlos Ortega
www.qualityexcellence.es



El mié., 12 dic. 2018 a las 14:09, Manuel Mendoza ()
escribió:


Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace
un subset con el que se queda con las muestras para la que cierta
variable es positiva.

Si hago esto, sale bien:

df2<-subset(df, subset = var1>0)


Pero he probado así (y de no sé cuantas formas más), antes de hacer el
for, y no sale:

GT<- c("var1","var2", … )

df2<-subset(df, subset=(GT[1]>0))

Gracias,
Manuel


























.

--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural Science (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

___
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



--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural Science (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Subset dentro de un for

2018-12-12 Thread Marcelino De La Cruz Rot


Ten cuidado, porque empiezas el for como:

for(i in GT)

y luego el color del aes lo defines como:

color= GT[i]

Lo que, por ejemplo para el primer caso, se traduciría  en GT["var1"], 
que, a no ser que GT tenga names , debería dar un error.

Yo creo que quieres decir

for(i in 1:length(GT))

...
color=get(GT[i])


El 12/12/2018 a las 18:21, Manuel Mendoza escribió:
>
> Gracias a los tres, Raúl, Marcelino y Carlos.
>
> Lo del "get" de Marcelino me da la respuesta a lo que yo exactamente 
> preguntaba, y funciona, pero ahora tengo problemas con el for, por lo 
> que probablemente recurra al eval parse de Raúl o Carlos, que ya 
> tienen el for. Aún así, lo intento 1º con el get.
>
> Con subset(df, subset=get(GT[i])>0) el problema es que en el for hago 
> un ggplot cuyo color es = a la variable que condiciona el subset, y no 
> funciona poniendo GT[i] (como se ve abajo). Pretendo que me haga 20 
> mapas, cada uno de acuerdo a una de las 20 variables de GT.
>
> GT<- c("var1","var2", … "var20")
>
> for(i in GT) {
>
> df2<-subset(df1, subset=get(GT[i])>0)
>
> windows();print(ggplot(legend=FALSE)+geom_path( data=world, 
> aes(x=long, y=lat,group=group))+
> theme(panel.background=element_blank())+theme(panel.grid.major = 
> element_blank())+
>     theme(panel.grid.minor = 
> element_blank())+theme(axis.text.x=element_blank(),axis.text.y=element_blank())+
>     theme(axis.ticks = element_blank())+xlab("") + ylab("")+
>     geom_point(data=df2,aes(x=lon,y=lat,
>
>     color= GT[i],size=2) +
>
> scale_colour_gradient(low=("white"),high=("red"),guide="colourbar",limits=c(0,max))+
>     geom_path(data=map_data('world'), aes(x=long, 
> y=lat,group=group))+
>     labs(title =  paste("5026 Minimum number of IFd species to go 
> extinct"
>
> }
>
>
>
>
>
>
>
>
> Quoting Carlos Ortega :
>
>> Esta es una forma...
>>
>>> for(i in c('Ozone', 'Solar.R')) {
>> +   print(i)
>> +   sub_data <- subset(airquality, eval(parse(text=i)) < 100)
>> +   res_ult <- mean(sub_data$Temp, na.rm = TRUE)
>> +   print(res_ult)
>> + }
>> [1] "Ozone"
>> [1] 77.34862
>> [1] "Solar.R"
>> [1] 71.85294
>>
>> Y otra forma à la dplyr...:
>>
>>> library(rlang)
>>> for(i in c('Ozone', 'Solar.R')) {
>> +   print(i)
>> +   res_ult <- airquality %>%
>> + filter(!!sym(i) < 100) %>%
>> + summarize(Media = mean(Temp, na.rm = TRUE))
>> +   print(res_ult)
>> + }
>> [1] "Ozone"
>>  Media
>> 1 77.34862
>> [1] "Solar.R"
>>  Media
>> 1 71.85294
>>
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
>>
>>
>> El mié., 12 dic. 2018 a las 14:09, Manuel Mendoza 
>> ()
>> escribió:
>>
>>> Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace
>>> un subset con el que se queda con las muestras para la que cierta
>>> variable es positiva.
>>>
>>> Si hago esto, sale bien:
>>>
>>> df2<-subset(df, subset = var1>0)
>>>
>>>
>>> Pero he probado así (y de no sé cuantas formas más), antes de hacer el
>>> for, y no sale:
>>>
>>> GT<- c("var1","var2", … )
>>>
>>> df2<-subset(df, subset=(GT[1]>0))
>>>
>>> Gracias,
>>> Manuel
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> .
>>>
>>> -- 
>>> Dr Manuel Mendoza
>>> Department of Biogeography and Global Change
>>> National Museum of Natural Science (MNCN)
>>> Spanish Scientific Council (CSIC)
>>> C/ Serrano 115bis, 28006 MADRID
>>> Spain
>>>
>>> ___
>>> 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
>
>

-- 
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Subset dentro de un for

2018-12-12 Thread Manuel Mendoza



Gracias Marcelino. Si, (i in 1:length(GT)), lo he utilizado mil veces,  
pero se me sigue olvidando de una vez a otra. Lo iba a mirar, pero me  
centré primero en que me hiciera bien el mapa.


He probado el for y me da este error:

Error in aes(x = lon, y = lat, color = get(GT[i]), size = 2) +  
scale_colour_gradient(low = ("white"),  :

  non-numeric argument to binary operator




Quoting Marcelino De La Cruz Rot :


Ten cuidado, porque empiezas el for como:

for(i in GT)

y luego el color del aes lo defines como:

color= GT[i]

Lo que, por ejemplo para el primer caso, se traduciría  en GT["var1"],
que, a no ser que GT tenga names , debería dar un error.

Yo creo que quieres decir

for(i in 1:length(GT))

...
color=get(GT[i])


El 12/12/2018 a las 18:21, Manuel Mendoza escribió:


Gracias a los tres, Raúl, Marcelino y Carlos.

Lo del "get" de Marcelino me da la respuesta a lo que yo exactamente
preguntaba, y funciona, pero ahora tengo problemas con el for, por lo
que probablemente recurra al eval parse de Raúl o Carlos, que ya
tienen el for. Aún así, lo intento 1º con el get.

Con subset(df, subset=get(GT[i])>0) el problema es que en el for hago
un ggplot cuyo color es = a la variable que condiciona el subset, y no
funciona poniendo GT[i] (como se ve abajo). Pretendo que me haga 20
mapas, cada uno de acuerdo a una de las 20 variables de GT.

GT<- c("var1","var2", … "var20")

for(i in GT) {

df2<-subset(df1, subset=get(GT[i])>0)

windows();print(ggplot(legend=FALSE)+geom_path( data=world,
aes(x=long, y=lat,group=group))+
theme(panel.background=element_blank())+theme(panel.grid.major =
element_blank())+
    theme(panel.grid.minor =
element_blank())+theme(axis.text.x=element_blank(),axis.text.y=element_blank())+
    theme(axis.ticks = element_blank())+xlab("") + ylab("")+
    geom_point(data=df2,aes(x=lon,y=lat,

    color= GT[i],size=2) +

scale_colour_gradient(low=("white"),high=("red"),guide="colourbar",limits=c(0,max))+
    geom_path(data=map_data('world'), aes(x=long,
y=lat,group=group))+
    labs(title =  paste("5026 Minimum number of IFd species to go
extinct"

}








Quoting Carlos Ortega :


Esta es una forma...


for(i in c('Ozone', 'Solar.R')) {

+   print(i)
+   sub_data <- subset(airquality, eval(parse(text=i)) < 100)
+   res_ult <- mean(sub_data$Temp, na.rm = TRUE)
+   print(res_ult)
+ }
[1] "Ozone"
[1] 77.34862
[1] "Solar.R"
[1] 71.85294

Y otra forma à la dplyr...:


library(rlang)
for(i in c('Ozone', 'Solar.R')) {

+   print(i)
+   res_ult <- airquality %>%
+ filter(!!sym(i) < 100) %>%
+ summarize(Media = mean(Temp, na.rm = TRUE))
+   print(res_ult)
+ }
[1] "Ozone"
 Media
1 77.34862
[1] "Solar.R"
 Media
1 71.85294

Saludos,
Carlos Ortega
www.qualityexcellence.es



El mié., 12 dic. 2018 a las 14:09, Manuel Mendoza
()
escribió:


Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace
un subset con el que se queda con las muestras para la que cierta
variable es positiva.

Si hago esto, sale bien:

df2<-subset(df, subset = var1>0)


Pero he probado así (y de no sé cuantas formas más), antes de hacer el
for, y no sale:

GT<- c("var1","var2", … )

df2<-subset(df, subset=(GT[1]>0))

Gracias,
Manuel


























.

--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural Science (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

___
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





--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España



--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural Science (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Subset dentro de un for

2018-12-12 Thread Marcelino De La Cruz Rot
Ese error suena a que alguna de las variables fuese no numérica (factor 
o character).


El 12/12/2018 a las 19:32, Manuel Mendoza escribió:
>
> Gracias Marcelino. Si, (i in 1:length(GT)), lo he utilizado mil veces, 
> pero se me sigue olvidando de una vez a otra. Lo iba a mirar, pero me 
> centré primero en que me hiciera bien el mapa.
>
> He probado el for y me da este error:
>
> Error in aes(x = lon, y = lat, color = get(GT[i]), size = 2) + 
> scale_colour_gradient(low = ("white"),  :
>   non-numeric argument to binary operator
>
>
>
>
> Quoting Marcelino De La Cruz Rot :
>
>> Ten cuidado, porque empiezas el for como:
>>
>> for(i in GT)
>>
>> y luego el color del aes lo defines como:
>>
>> color= GT[i]
>>
>> Lo que, por ejemplo para el primer caso, se traduciría  en GT["var1"],
>> que, a no ser que GT tenga names , debería dar un error.
>>
>> Yo creo que quieres decir
>>
>> for(i in 1:length(GT))
>>
>> ...
>> color=get(GT[i])
>>
>>
>> El 12/12/2018 a las 18:21, Manuel Mendoza escribió:
>>>
>>> Gracias a los tres, Raúl, Marcelino y Carlos.
>>>
>>> Lo del "get" de Marcelino me da la respuesta a lo que yo exactamente
>>> preguntaba, y funciona, pero ahora tengo problemas con el for, por lo
>>> que probablemente recurra al eval parse de Raúl o Carlos, que ya
>>> tienen el for. Aún así, lo intento 1º con el get.
>>>
>>> Con subset(df, subset=get(GT[i])>0) el problema es que en el for hago
>>> un ggplot cuyo color es = a la variable que condiciona el subset, y no
>>> funciona poniendo GT[i] (como se ve abajo). Pretendo que me haga 20
>>> mapas, cada uno de acuerdo a una de las 20 variables de GT.
>>>
>>> GT<- c("var1","var2", … "var20")
>>>
>>> for(i in GT) {
>>>
>>> df2<-subset(df1, subset=get(GT[i])>0)
>>>
>>> windows();print(ggplot(legend=FALSE)+geom_path( data=world,
>>> aes(x=long, y=lat,group=group))+
>>> theme(panel.background=element_blank())+theme(panel.grid.major =
>>> element_blank())+
>>>     theme(panel.grid.minor =
>>> element_blank())+theme(axis.text.x=element_blank(),axis.text.y=element_blank())+
>>>  
>>>
>>>     theme(axis.ticks = element_blank())+xlab("") + ylab("")+
>>>     geom_point(data=df2,aes(x=lon,y=lat,
>>>
>>>     color= GT[i],size=2) +
>>>
>>> scale_colour_gradient(low=("white"),high=("red"),guide="colourbar",limits=c(0,max))+
>>>  
>>>
>>>     geom_path(data=map_data('world'), aes(x=long,
>>> y=lat,group=group))+
>>>     labs(title =  paste("5026 Minimum number of IFd species to go
>>> extinct"
>>>
>>> }
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Quoting Carlos Ortega :
>>>
 Esta es una forma...

> for(i in c('Ozone', 'Solar.R')) {
 +   print(i)
 +   sub_data <- subset(airquality, eval(parse(text=i)) < 100)
 +   res_ult <- mean(sub_data$Temp, na.rm = TRUE)
 +   print(res_ult)
 + }
 [1] "Ozone"
 [1] 77.34862
 [1] "Solar.R"
 [1] 71.85294

 Y otra forma à la dplyr...:

> library(rlang)
> for(i in c('Ozone', 'Solar.R')) {
 +   print(i)
 +   res_ult <- airquality %>%
 + filter(!!sym(i) < 100) %>%
 + summarize(Media = mean(Temp, na.rm = TRUE))
 +   print(res_ult)
 + }
 [1] "Ozone"
  Media
 1 77.34862
 [1] "Solar.R"
  Media
 1 71.85294

 Saludos,
 Carlos Ortega
 www.qualityexcellence.es



 El mié., 12 dic. 2018 a las 14:09, Manuel Mendoza
 ()
 escribió:

> Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace
> un subset con el que se queda con las muestras para la que cierta
> variable es positiva.
>
> Si hago esto, sale bien:
>
> df2<-subset(df, subset = var1>0)
>
>
> Pero he probado así (y de no sé cuantas formas más), antes de 
> hacer el
> for, y no sale:
>
> GT<- c("var1","var2", … )
>
> df2<-subset(df, subset=(GT[1]>0))
>
> Gracias,
> Manuel
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> .
>
> -- 
> Dr Manuel Mendoza
> Department of Biogeography and Global Change
> National Museum of Natural Science (MNCN)
> Spanish Scientific Council (CSIC)
> C/ Serrano 115bis, 28006 MADRID
> Spain
>
> ___
> 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
>>>
>>>
>>
>> -- 
>> Marcelino de la Cruz Rot
>> Depto. de Biología y Geología
>> Física y Química Inorgánica
>> Universidad Rey Juan Carlos
>> Móstoles España
>
>

-- 
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman

[R-es] Donde obtener tablas de datos ejemplo

2018-12-12 Thread jorge della gaspera
Buenas tardes, donde puedo encontrar tablas de datos para trabajar con R
las funciones de correlación de variables.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Donde obtener tablas de datos ejemplo

2018-12-12 Thread Jorge I Velez
?cor

El El mié, 12 de dic. de 2018 a las 3:51 p. m., jorge della gaspera <
jara...@gmail.com> escribió:

> Buenas tardes, donde puedo encontrar tablas de datos para trabajar con R
> las funciones de correlación de variables.
>
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
-- 
Sent from my phone. Please excuse my brevity and misspelling.

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R-es] Subset dentro de un for

2018-12-12 Thread Manuel Mendoza
Si, es lo primero que pensé, pero lo he comprobado y las 20 utilizadas  
para hacer el gradiente son numéricas. De hecho, si las pongo con su  
nombre, en vez de  get(GT[i]), me hace bien el mapa.



Quoting Marcelino De La Cruz Rot :


Ese error suena a que alguna de las variables fuese no numérica (factor
o character).


El 12/12/2018 a las 19:32, Manuel Mendoza escribió:


Gracias Marcelino. Si, (i in 1:length(GT)), lo he utilizado mil veces,
pero se me sigue olvidando de una vez a otra. Lo iba a mirar, pero me
centré primero en que me hiciera bien el mapa.

He probado el for y me da este error:

Error in aes(x = lon, y = lat, color = get(GT[i]), size = 2) +
scale_colour_gradient(low = ("white"),  :
  non-numeric argument to binary operator




Quoting Marcelino De La Cruz Rot :


Ten cuidado, porque empiezas el for como:

for(i in GT)

y luego el color del aes lo defines como:

color= GT[i]

Lo que, por ejemplo para el primer caso, se traduciría  en GT["var1"],
que, a no ser que GT tenga names , debería dar un error.

Yo creo que quieres decir

for(i in 1:length(GT))

...
color=get(GT[i])


El 12/12/2018 a las 18:21, Manuel Mendoza escribió:


Gracias a los tres, Raúl, Marcelino y Carlos.

Lo del "get" de Marcelino me da la respuesta a lo que yo exactamente
preguntaba, y funciona, pero ahora tengo problemas con el for, por lo
que probablemente recurra al eval parse de Raúl o Carlos, que ya
tienen el for. Aún así, lo intento 1º con el get.

Con subset(df, subset=get(GT[i])>0) el problema es que en el for hago
un ggplot cuyo color es = a la variable que condiciona el subset, y no
funciona poniendo GT[i] (como se ve abajo). Pretendo que me haga 20
mapas, cada uno de acuerdo a una de las 20 variables de GT.

GT<- c("var1","var2", … "var20")

for(i in GT) {

df2<-subset(df1, subset=get(GT[i])>0)

windows();print(ggplot(legend=FALSE)+geom_path( data=world,
aes(x=long, y=lat,group=group))+
theme(panel.background=element_blank())+theme(panel.grid.major =
element_blank())+
    theme(panel.grid.minor =
element_blank())+theme(axis.text.x=element_blank(),axis.text.y=element_blank())+

    theme(axis.ticks = element_blank())+xlab("") + ylab("")+
    geom_point(data=df2,aes(x=lon,y=lat,

    color= GT[i],size=2) +

scale_colour_gradient(low=("white"),high=("red"),guide="colourbar",limits=c(0,max))+

    geom_path(data=map_data('world'), aes(x=long,
y=lat,group=group))+
    labs(title =  paste("5026 Minimum number of IFd species to go
extinct"

}








Quoting Carlos Ortega :


Esta es una forma...


for(i in c('Ozone', 'Solar.R')) {

+   print(i)
+   sub_data <- subset(airquality, eval(parse(text=i)) < 100)
+   res_ult <- mean(sub_data$Temp, na.rm = TRUE)
+   print(res_ult)
+ }
[1] "Ozone"
[1] 77.34862
[1] "Solar.R"
[1] 71.85294

Y otra forma à la dplyr...:


library(rlang)
for(i in c('Ozone', 'Solar.R')) {

+   print(i)
+   res_ult <- airquality %>%
+ filter(!!sym(i) < 100) %>%
+ summarize(Media = mean(Temp, na.rm = TRUE))
+   print(res_ult)
+ }
[1] "Ozone"
 Media
1 77.34862
[1] "Solar.R"
 Media
1 71.85294

Saludos,
Carlos Ortega
www.qualityexcellence.es



El mié., 12 dic. 2018 a las 14:09, Manuel Mendoza
()
escribió:


Muy buenas.  Quiero hacer un loop en el que en cada iteración se hace
un subset con el que se queda con las muestras para la que cierta
variable es positiva.

Si hago esto, sale bien:

df2<-subset(df, subset = var1>0)


Pero he probado así (y de no sé cuantas formas más), antes de
hacer el
for, y no sale:

GT<- c("var1","var2", … )

df2<-subset(df, subset=(GT[1]>0))

Gracias,
Manuel


























.

--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural Science (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

___
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





--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España





--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España



--
Dr Manuel Mendoza
Department of Biogeography and Global Change
National Museum of Natural Science (MNCN)
Spanish Scientific Council (CSIC)
C/ Serrano 115bis, 28006 MADRID
Spain

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es