Skip to content

[R-es] Variable Progresiva

11 messages · Isidro Hidalgo, Rafael Saturno, Carlos J. Gil Bellosta +3 more

#
Hola Comunidad,


Tengo una duda,


Queria que en un For si fuese ejecutando un proceso desde 1 hasta 5 por poner un ejemplo , y que el resultado se fuese guardando en variables que se llamar Ki, es decir k1, k2, k3...


Un ejemplo de como crei que funcionaria y no lo hizo xD


for (i in 1:3) {

paste("k", i, sep = "") <- sum(1:i)

}

Esperaba se crearan las variables k1 = 1, k2= 3 y k3 = 6


Gracias
#
Lo que quieres hacer se hace con la función "assign()". En tu ejemplo:
assign(paste("k", i, sep = ""), sum(1:i))
Un saludo

Isidro Hidalgo Arellano
Observatorio del Mercado de Trabajo
Consejería de Economía, Empresas y Empleo
http://www.castillalamancha.es/



-----Mensaje original-----
De: R-help-es [mailto:r-help-es-bounces en r-project.org] En nombre de Rafael
Saturno
Enviado el: lunes, 26 de septiembre de 2016 1:43
Para: R <r-help-es en r-project.org>
Asunto: [R-es] Variable Progresiva

Hola Comunidad,


Tengo una duda,


Queria que en un For si fuese ejecutando un proceso desde 1 hasta 5 por
poner un ejemplo , y que el resultado se fuese guardando en variables que se
llamar Ki, es decir k1, k2, k3...


Un ejemplo de como crei que funcionaria y no lo hizo xD


for (i in 1:3) {

paste("k", i, sep = "") <- sum(1:i)

}

Esperaba se crearan las variables k1 = 1, k2= 3 y k3 = 6


Gracias


_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es
#
Listo, Muchisimas gracias
#
Una duda, si fuese a leer 3 archivos csv que se llamar archivo 1, archivo 2 y archivo 3 también se podría usar? gracias
#
Hola, ¿qué tal?

He leído en este hilo la respuesta correcta a la pregunta equivocada.
Realmente, no quieres crear variables con nombres generados con un
subíndice; quieres una lista.

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El 26 de septiembre de 2016, 16:40, Rafael Saturno <
Rafael_Saturno en hotmail.com> escribió:

  
  
#
Buenas Tardes,


Les escribo para solicitarles una ayuda dado que tengo 2 tablas, una con los campos:


cedula | nombre | direccion


y la otra con la tabla:


cedula | barrio | municipio


Lo que necesito es hacer una comparación del campo cedula de las dos tablas y si son iguales, agregarle los campos barrio y municipio de la segunda tabla a la fila correspondiente de esa cedula de la primera tabla al lado de direccion.


Agradeciendo todo su apoyo,


CESAR AUGUSTO LOPEZ
#
?merge

El 26 de septiembre de 2016, 22:09, Cesar Lopez <cesarlopez-1 en hotmail.com>
escribió:

  
  
#
Buenas Noches,


Les escribo para solicitarles una ayuda con lo siguiente:

"Primero leo las primeras 100 lineas de mi archivo"
inicial <- read.csv("cartera1.csv", header=TRUE, sep=";", fileEncoding="latin1", nrows=100)

"Segundo determino las clases o tipos de objetos"

clases <- sapply(inicial, class)


"Tercero reviso clases"

clases
                        USUARIO                          NOMBRE
                      "integer"                        "factor"
                      DIRECCION                         ESTRATO
                       "factor"                       "integer"
                          CICLO                 DEUDA_PENDIENTE
                      "integer"                        "factor"
       INTERESES_PENDIENTES_MES INTERESES_PENDIENTES_ACUMULADOS
                      "numeric"                       "numeric"
                     MESES_MORA                   CUOTA_INICIAL
                       "factor"                       "integer"
                    CUOTA_SALDO                     CUOTA_VALOR
                      "numeric"                       "numeric"
                CUOTA_INTERESES                CUOTA_PENDIENTES
                      "numeric"                       "integer"
                        PAGADAS                       FACTURADO
                      "integer"                       "numeric"
                         ABONOS
                      "integer"


"Cuarto intento importar el archivo con el colclasses"

datos <- read.csv("cartera1.csv", header=TRUE, sep=";", fileEncoding= "latin1", colClasses=clases)


"Me aparece el siguiente error"

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,  :
  scan() expected 'a real', got '13.060.496'


Que es lo que estoy haciendo mal o porque me sale dicho error ?


Agradeciendo todo su apoyo,


CESAR AUGUSTO LOPEZ
#
Hola,

Al margen de la solución técnica a tu problema, me intriga un tanto el
objetivo que persigues.

Si tu objetivo es determinar las clases para luego optimizar la lectura, mi
sugerencia es que si el fichero que quieres leer es muy grande, puedes
utilizar la función "fread()" del paquete "data.table" que hace este
trabajo por ti. También tienes otra alternativa con el paquete "readr"
(incluye una función read_csv) que utiliza una estrategia equivalente a la
que estás buscando, aunque sus tiempos de lectura son peores que las que
ofrece "fread()".

Saludos,
Carlos Ortega
www.qualityexcellence.es

El 27 de septiembre de 2016, 6:30, Cesar Lopez <cesarlopez-1 en hotmail.com>
escribió:

  
    
#
Va a ser que sí? XD

 

De: gilbellosta en gmail.com [mailto:gilbellosta en gmail.com] En nombre de Carlos J. Gil Bellosta 
Enviado el: lunes, 26 de septiembre de 2016 19:27
Para: Rafael Saturno <Rafael_Saturno en hotmail.com>
CC: Isidro Hidalgo Arellano <ihidalgo en jccm.es>; R <r-help-es en r-project.org>
Asunto: Re: [R-es] Variable Progresiva

 

Hola, ¿qué tal?

 

He leído en este hilo la respuesta correcta a la pregunta equivocada. Realmente, no quieres crear variables con nombres generados con un subíndice; quieres una lista.

 

Un saludo,

 

Carlos J. Gil Bellosta

http://www.datanalytics.com

 

El 26 de septiembre de 2016, 16:40, Rafael Saturno <Rafael_Saturno en hotmail.com <mailto:Rafael_Saturno en hotmail.com> > escribió:

Una duda, si fuese a leer 3 archivos csv que se llamar archivo 1, archivo 2 y archivo 3 también se podría usar? gracias
#
Hola César,

Aunque la respuesta de Carlos está bien, date cuenta de que el error dice:

   scan() expected 'a real', got '13.060.496'

Parece que tienes separadores de 'miles' en una columna, y R no traga 
con ellos, dado que espera un numérico.
Creo que tendrás que hacer un preprocesado, o un postprocesado para 
lidiar con ellos.

Un saludo,

*Luisfo Chiroque*
/PhD Student | PhD Candidate
IMDEA Networks Institute/
http://fourier.networks.imdea.org/people/~luis_nunez/ 
<http://fourier.networks.imdea.org/people/%7Eluis_nunez/>
On 27/09/16 08:53, Carlos Ortega wrote: