Re: [R-es] Incluir un rango de varias variables explicativas a un modelo

2019-06-05 Por tema Jorge I Velez
Hola Rolando,

Quizás subset() sea tu amigo en este caso.  Intenta:

## selecciona la variable dependiente y las variables independientes
d0 <- subset(wageszm14, select = c(lwage, SEXO:marr, pot23:pot317)

## ajusta el modelo
fit <- qregspiv(lwage ~ ., shpfile = zm15, tau = 0.5, nboot = 70, data = d0)

## resultados
summary(fit)

Saludos,
Jorge.-



On Sun, Jun 2, 2019 at 6:00 PM Rolando Valdez  wrote:

> Hola,
>
> Quiero especificar una ecuación con varias variables explicativas de una
> manera eficiente sin necesidad de escribir todas y cada una. Tengo un
> conjunto de variables (junto con otras) dentro de una base de datos que se
> llaman pot23 pot311 pot312 pot 316 pot317... pot80. No
> necesariamente están secuenciadas. Quisiera saber cómo indicar que incluya
> todas las variables de pot23 a pot80 en una ecuación.
>
> He intentado lo siguiente, pero no funciona:
>
> > pots <- paste("pot",23:321, sep="")
> > eqreg2 <- lwage~SEXO+EDAD+HLENGUA+ESCOACUM+marr+wageszm14[,pots]
> > fit <- qregspiv(eqreg2, shpfile = zm15, tau = 0.5, nboot = 70, data =
> wageszm14)
> Error: Can't find columns `pot24`, `pot25`, `pot26`, `pot27`, `pot28`, ...
> (and 273 more) in `.data`.
>
> De igual forma, después estaría interesado en obtener el logaritmo de todas
> esas variables pot~
>
> Gracias de antemano por cualquier tipo de ayuda.
>
> --
> Rol~
>
> [[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


Re: [R-es] Incluir un rango de varias variables explicativas a un modelo

2019-06-05 Por tema Carlos Ortega
Hola,

Mira este código para construir tu fórmula a partir de los nombres de tus
variables...

#---

library(dplyr)
library(randNames)

set.seed(1234)

# Creo unos nombres aletaorios como nombres de variables
# Esto lo tendrías de tu data.frame con "names(tu_data_frame)"
my_names <- 25 %>%
  rand_names(nationality = 'ES') %>%
  select(name.first)

mynam_vec <- as.vector(my_names$name.first)
mynam_vec

# Construyo una formula con los nombres de las variables
myformula <- vector()
for(i in 1:length(mynam_vec)) {
  tmp <- mynam_vec[i]
  if(i != length(mynam_vec)) {
  myformula <- paste0(myformula, tmp, sep=" + ", collapse = "")
  } else {
  myformula <- paste0(myformula, tmp, sep= '' )
  }
}
myform_end <- paste("lweg ~ ", myformula, sep = " ")
myform_end
class(myform_end)

# Y con la cadena la transformo en una formula
como_formula <- as.formula(myform_end)
como_formula
class(como_formula)
#---

Que produce este resultado:

> library(dplyr)
> library(randNames)
>
> set.seed(1234)
>
> # Creo unos nombres aletaorios como nombres de variables
> # Esto lo tendrías de tu data.frame con "names(tu_data_frame)"
> my_names <- 25 %>%
+   rand_names(nationality = 'ES') %>%
+   select(name.first)
>
> mynam_vec <- as.vector(my_names$name.first)
> mynam_vec
 [1] "sonia" "elisa" "adrian""irene" "laura" "joaquin"
  "raquel"
 [8] "eva"   "rodrigo"   "carmelo"   "vicenta"   "jordi" "nuria"
  "enrique"
[15] "luz"   "mohamed"   "alfredo"   "nieves""fatima""santiago"
 "francisco"
[22] "joaquin"   "jose"  "manuel""andrea"
>
> # Construyo una formula con los nombres de las variables
> myformula <- vector()
> for(i in 1:length(mynam_vec)) {
+   tmp <- mynam_vec[i]
+   if(i != length(mynam_vec)) {
+   myformula <- paste0(myformula, tmp, sep=" + ", collapse = "")
+   } else {
+   myformula <- paste0(myformula, tmp, sep= '' )
+   }
+ }
> myform_end <- paste("lweg ~ ", myformula, sep = " ")
> myform_end
[1] "lweg ~  sonia + elisa + adrian + irene + laura + joaquin + raquel +
eva + rodrigo + carmelo + vicenta + jordi + nuria + enrique + luz + mohamed
+ alfredo + nieves + fatima + santiago + francisco + joaquin + jose +
manuel + andrea"
> class(myform_end)
[1] "character"
>
> # Y con la cadena la transformo en una formula
> como_formula <- as.formula(myform_end)
> como_formula
lweg ~ sonia + elisa + adrian + irene + laura + joaquin + raquel +
eva + rodrigo + carmelo + vicenta + jordi + nuria + enrique +
luz + mohamed + alfredo + nieves + fatima + santiago + francisco +
joaquin + jose + manuel + andrea
> class(como_formula)
[1] "formula"

#-


Saludos,
Carlos Ortega
www.qualityexcellence.es


El mar., 4 jun. 2019 a las 5:43, Rolando Valdez ()
escribió:

> Hola, gracias por la respuesta,
>
> No me funcionó debido a que los nombres de las variables no están
> seriadas, es decir, los nombres de las variables son del tipo: x23 x25 x30,
> x301 x320, x80. Entonces me da este error:
> Error in eval(predvars, data, env) : object 'pot24' not found. Debido a
> que pot24 no existe, ya que de pot23 se brinca a pot30.
>
> En Stata es algo muy simple de hacer, solo tengo que especificar gl
> indepvars "x23-x80" y ya. En R no logro hacerlo.
>
> ¿Alguna otra sugerencia?
>
> Gracias de antemano.
>
> El lun., 3 de jun. de 2019 a la(s) 04:50, Carlos Ortega (
> c...@qualityexcellence.es) escribió:
>
>> Hola,
>>
>> Mira la función "*as.formula()*".
>> Incluye un ejemplo muy parecido a lo que estás queriendo hacer.
>>
>> Saludos,
>> Carlos Ortega
>> www.qualityexcellence.es
>>
>> El lun., 3 jun. 2019 a las 1:00, Rolando Valdez ()
>> escribió:
>>
>>> Hola,
>>>
>>> Quiero especificar una ecuación con varias variables explicativas de una
>>> manera eficiente sin necesidad de escribir todas y cada una. Tengo un
>>> conjunto de variables (junto con otras) dentro de una base de datos que
>>> se
>>> llaman pot23 pot311 pot312 pot 316 pot317... pot80. No
>>> necesariamente están secuenciadas. Quisiera saber cómo indicar que
>>> incluya
>>> todas las variables de pot23 a pot80 en una ecuación.
>>>
>>> He intentado lo siguiente, pero no funciona:
>>>
>>> > pots <- paste("pot",23:321, sep="")
>>> > eqreg2 <- lwage~SEXO+EDAD+HLENGUA+ESCOACUM+marr+wageszm14[,pots]
>>> > fit <- qregspiv(eqreg2, shpfile = zm15, tau = 0.5, nboot = 70, data =
>>> wageszm14)
>>> Error: Can't find columns `pot24`, `pot25`, `pot26`, `pot27`, `pot28`,
>>> ...
>>> (and 273 more) in `.data`.
>>>
>>> De igual forma, después estaría interesado en obtener el logaritmo de
>>> todas
>>> esas variables pot~
>>>
>>> Gracias de antemano por cualquier tipo de ayuda.
>>>
>>> --
>>> Rol~
>>>
>>> [[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
>> 

Re: [R-es] Incluir un rango de varias variables explicativas a un modelo

2019-06-05 Por tema Juan Abasolo
Meto cuchara y disculpen si es una tontería:
Y si creás un objeto con los nombres de las variables? y si solamente te
interesan las que cumplan no sé qué característica en el nombre, pedirlo.

pabuscar <- sort(names(tudataframe))
pabuscar[grep('x', pabuscar)]

Los que saben seguro que lo hacen más lindo, pero yo creo que eso te
funcionaría y no es difacil. Suerte

Hau idatzi du Rolando Valdez (rvald...@gmail.com) erabiltzaileak (2019 eka.
4, ar. (05:43)):

> Hola, gracias por la respuesta,
>
> No me funcionó debido a que los nombres de las variables no están seriadas,
> es decir, los nombres de las variables son del tipo: x23 x25 x30, x301
> x320, x80. Entonces me da este error:
> Error in eval(predvars, data, env) : object 'pot24' not found. Debido a que
> pot24 no existe, ya que de pot23 se brinca a pot30.
>
> En Stata es algo muy simple de hacer, solo tengo que especificar gl
> indepvars "x23-x80" y ya. En R no logro hacerlo.
>
> ¿Alguna otra sugerencia?
>
> Gracias de antemano.
>
> El lun., 3 de jun. de 2019 a la(s) 04:50, Carlos Ortega (
> c...@qualityexcellence.es) escribió:
>
> > Hola,
> >
> > Mira la función "*as.formula()*".
> > Incluye un ejemplo muy parecido a lo que estás queriendo hacer.
> >
> > Saludos,
> > Carlos Ortega
> > www.qualityexcellence.es
> >
> > El lun., 3 jun. 2019 a las 1:00, Rolando Valdez ()
> > escribió:
> >
> >> Hola,
> >>
> >> Quiero especificar una ecuación con varias variables explicativas de una
> >> manera eficiente sin necesidad de escribir todas y cada una. Tengo un
> >> conjunto de variables (junto con otras) dentro de una base de datos que
> se
> >> llaman pot23 pot311 pot312 pot 316 pot317... pot80. No
> >> necesariamente están secuenciadas. Quisiera saber cómo indicar que
> incluya
> >> todas las variables de pot23 a pot80 en una ecuación.
> >>
> >> He intentado lo siguiente, pero no funciona:
> >>
> >> > pots <- paste("pot",23:321, sep="")
> >> > eqreg2 <- lwage~SEXO+EDAD+HLENGUA+ESCOACUM+marr+wageszm14[,pots]
> >> > fit <- qregspiv(eqreg2, shpfile = zm15, tau = 0.5, nboot = 70, data =
> >> wageszm14)
> >> Error: Can't find columns `pot24`, `pot25`, `pot26`, `pot27`, `pot28`,
> ...
> >> (and 273 more) in `.data`.
> >>
> >> De igual forma, después estaría interesado en obtener el logaritmo de
> >> todas
> >> esas variables pot~
> >>
> >> Gracias de antemano por cualquier tipo de ayuda.
> >>
> >> --
> >> Rol~
> >>
> >> [[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
> >
>
>
> --
> Rol~
>
> [[alternative HTML version deleted]]
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>


-- 
Juan Abasolo

Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea
Bilboko Hezkuntza Fakultatea
Euskal Herriko Unibertsitatea
UPV/EHU

Sarriena auzoa z/g 48940 - Leioa (Bizkaia)

T: (+34) 94 601 7567
Telegram: @JuanAbasolo
Skype: abasolo72

Tutoretza ordutegia 

[[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] Identificar por coordenadas geográficas una calle de una ciudad

2019-06-05 Por tema Diego Martín
Gracias a vuestra ayuda implementé fácilmente esta función:

id_geocode <- geocode(locate,
  output = "all",
  source = "dsk",
  messaging = FALSE,
  force = FALSE,
  sensor = FALSE,
  override_limit = FALSE,
  client = "",
  signature = "",
  nameType = "long")

Y como los casos de la variable "locate" no parecieron muy complicados,
encontró casi el 100% y resolvió mi necesidad. Ahora bien, en cuestión de
precisión es mejor Google y pasar a la opción profesional, aunque tenga un
coste.

Gracias una vez más.

Diego Martín.
Geógrafo.

El jue., 16 may. 2019 a las 7:22, Diego Martín ()
escribió:

> Muchísimas gracias a todos. Voy a echar un vistazo y, sí, os contaré qué
> tal.
> Un abrazo.
>
> El jue., 16 may. 2019 a las 0:31, Javier Marcuzzi (<
> javier.ruben.marcu...@gmail.com>) escribió:
>
>> Estimados
>>
>> Sobre como obtener la geolocalización, aparte de lo aportado por Rubén
>> Casal, también existe el api de Microsoft, lo que yo descartaría es tomar
>> una base de datos con geolocalización, teóricamente andarían pero si uno
>> por casualidad conoce la geografía real, se da cuenta de errores, salvo que
>> en España los datos estén correctos.
>>
>> Javier Rubén Marcuzzi
>>
>> El mié., 15 may. 2019 a las 8:50, rubenfcasal ()
>> escribió:
>>
>>> Hola a todos,
>>>
>>> Yo tengo empleado herramientas de este tipo hace tiempo. Básicamente
>>> hacían consultas a google maps sobre direcciones y devolvían la
>>> posición. El número de consultas tenía restricciones y había que darse
>>> de alta en la api de google:
>>> https://developers.google.com/maps/documentation/geocoding/start?csw=1
>>>
>>> Buscando ahora esas herramientas me encontré con la función geocode de
>>> ggmap:
>>>
>>> https://www.rdocumentation.org/packages/ggmap/versions/2.6.1/topics/geocode
>>> https://www.jessesadler.com/post/geocoding-with-r
>>> podrías comenzar por esta...
>>>
>>> Como a mi gustan bastante las herramientas de OpenStreetMap (para cargar
>>> rutas en R, ...),
>>> y para no depender de google, miré también ahora si había novedades
>>> sobre esto y encontré varias:
>>>
>>> https://datascienceplus.com/osm-nominatim-with-r-getting-locations-geo-coordinates-by-its-address
>>> https://rud.is/b/2015/07/29/introducing-the-nominatim-geocoding-package
>>>
>>> Diego, ya nos dirás como hiciste finalmente...
>>>
>>> Un saludo, Rubén.
>>>
>>> El 15/05/2019 a las 13:16, Diego Martín escribió:
>>> > Saludos estimados compañeros:
>>> > ¿Alguno de ustedes sabe de alguna librería con la que
>>> geolocalizar
>>> >   una calle de una ciudad española?, aunque no cuenten nada más que
>>> aquellas
>>> > a partir de un umbral de población.
>>> >  Muchas gracias.
>>> >
>>> >   [[alternative HTML version deleted]]
>>> >
>>> > ___
>>> > R-help-es mailing list
>>> > R-help-es@r-project.org
>>> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>>> >
>>>
>>>
>>> --
>>> Ruben Fernandez Casal
>>> https://rubenfcasal.github.io
>>> Department of Mathematics
>>> Faculty of Computer Science
>>> Universidade da Coruña
>>> Corporate email: ruben.fcasal  udc  es
>>> --
>>>
>>> ___
>>> 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