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 (<mmend...@mncn.csic.es>) 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