Foro de discusión y soporte para usuarios de R

Un foro abierto a todos los temas relacionados con R que quiera.
Nota: Una url estable a este foro es https://knuth.uca.es/R-foro.

Sustitución de NaN e Inf

de Liliana Muñoz -

Hola! recién estoy aprendiendo a utilizar R, estoy haciendo un código en el cual agrego dos columnas a mi dataframe con operadores aritméticos, cuando extraigo esas columnas en una tabla el resultado de esas divisiones me da como resultado en algunos casos NaN o Inf, por lo cual quiero reemplazarlos. He intentado con avst18[is.na(avst18)]<-0, pero eso es para datos faltantes y en este caso la división tiene los siguientes casos 0/0 (Tanto el target como el avance están en cero) o X/0 (target tiene un monto y pautado está en 0); mi intenciónes que ne el avance tenga un cero. He intentado con is.nan e is.infinite pero me sale este error.  Error in is.nan(avst18): default method not implemented for type 'list' calls: <Anonymous> ... withVisible -> eval ->eval->[<-->[<-.data.frame

Podrían, por favor, apoyarme con esto, debe ser algo muy básico pero nunca fui buena programando y recién estoy aprendiendo en R. Mil gracias.

P.D.: Estoy utilizando la paquetería Dplyr

Rectas de regresión consecutivas

de María Jesús Pacheco Orellana -

Buenas tardes,

Estoy trabajando con un data frame que tiene 31 columnas o variables y necesito obtener los coeficientes de las rectas de regresión (ordenada en el origen y pendiente) de cada una de las ecuaciones que forme considerando cada una de las columnas como variable dependiente y del resto de columnas como independientes.

Dicho de otra forma, tengo que hacer rectas de regresión donde la C1 (Columna 1) sea la variable dependiente y la C2 independiente, otra recta con C1 como dependiente y C3 como independiente y así sucesivamente hasta la C31. Este mismo procedimiento tengo que repetirlo con la C2, C3, C4 etc. siendo estas las variables dependientes y el resto de columnas las independientes.

¿Hay alguna forma de hacer este procedimiento algo más automático que ir escribiendo manualmente cada una de las rectas?

Por favor y gracias.

Saludos,

MJ

Como intercalar datos

de Antti K. Risto -

Hola soy novato en esto y supongo que esta es una pregunta muy sencilla :)


tengo un vector1 con datos (digamos a,b,c,d) y otro vector2 con 4 ceros.

Como puedo añadir los 4 ceros del vector2 después de cada dato del vector1?

De tal manera que quede

(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,d,0,0,0,0)


Gracias



Categoría base variables dicotómicas en R

de mauricio gap -

Hola a todos!


Soy nuevo utilizando este software y me gustaría saber dos cosas muy básicas:


1. Al estimar una regresión logística con variables categóricas (3. 4, 5+ categorías) por medio del comando gml,  me muestra los coeficientes de cada categoría, ¿cómo puedo decirle que me muestre el coeficiente de la variable sin que desprenda todas las categorías? Ej: Variable raza (indigena, negro, blanco) me arroja coeficiente para cada categoría pero quiero el coeficiente de la variable "raza" en su conjunto.


2. Con mi variable dependiente (dummy) (1- participa 0- No participa) ¿cómo se cuál está tomando como base? ¿toma el 1 o toma el 0 como categoría base?


Muchas gracias por su ayuda!

Dudas con datos "Nor avaible"

de Cristina Alonso -

Buenas tardes,

estoy trabajando con R haciendo correlacioens, mi tabla matriz tiene bastantes casillas en blanco (no hay muestra), que en R aparecen como NA.

Cuando hago las correlaciones, con varias variables, función "cor", el resultado es NA.

Siguiendo el enlace: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/na.fail.html, he omitido los valores en blanco con la función: "na.omit".....pero ahora no se exactamente qué ha hecho el programa pues me da unos resultados sin NA pero posiblemente se han descolocado los demás resultados. Otra pregunta es: cómo dehago la función "na.omit"?

Alguien me puede ayudar con este tema?


Gracias

PROYECTAR PBI NOWCASTING Y ECUACIONES PUENTE

de horacio martin pratto Chiarella -

Hola Estimados!! Un gusto conocerlos. Me encuentro tratando de proyectar el PBI de mi país para usar como variable independiente en una regresion múltiple. Y por todo lo que he leído la mejor técnica es Nowcasting con ecuaciones puente y Análisis de factores principales, pero no encuentro aplicación practica en R o algún tutoría al respecto. Si alguno me puede ayudar me será de gran ayuda!!! Muchas Gracias ! y buen comienzo de semana!

Función para crear vector con datos filtrados

de Víctor Ramón -

Antes que nada decir que esta es mi primera consulta en el foro y también que acabo de descubrir esta increible aplicación, por lo que os pido paciencia y comprensión.

Lo que sí he podido entender es que las posibilidades son inmensas por lo que, por pedir que no quede.

Esta es mi consulta:

Tengo recopilados una cantidad inmensa de datos producto de muchos años de trabajo. En este gran data.frame tengo, entre otros 27 campos: fecha, sexo y edad.

Lo que quiero es crear automáticamente, matrices con los datos ya filtrados por esos 3 campos. Es decir:

filt2003H8 sería el subgrupo fecha=2003, sexo="H" y edad = 8

para así poder realizar pruebas o gráficas rápidamente llamando sólo a la matriz que contenga los datos requeridos.

la instrucción individual sería algo así:

filt2003H8<-subset(bigframe,an==2003&sex=="H"&ed==8)

Podéis pensar que podría crearlos a mano, uno a uno pero tengo datos de 15 años y de edades entre 6 y 14 años.

Otra posibilidad sería simplemente filtrar los datos cada vez que necesitara hacer algún cálculo con algún grupo pero me parece poco práctico.

Lo ideal sería una función con un bucle que creara las matrices y las almacenara en memoria para poder utilizarlas en cualquier momento.

He intentado crear la siguiente función para que me dé la matriz que quiero de forma más rápida pero no la almacena en memoria las matrices

submat<-function(an,sx,ed){

  if(an==2002){prov<-eur2002}

 ...

  if(an==2016){prov<-eur2016}

  if(sx==0){vu<-subset(prov,prov$Sex=="M")}

  if(sx==1){vu<-subset(prov,prov$Sex=="H")}

  if(ed==6){fi<-subset(vu,vu$Edad>=6 & vu$Edad<=7)}

 ...

  if(ed==15){fi<-subset(vu,vu$Edad>=15 & vu$Edad<=16)}

  año<-prov

  año_sex<-vu

  año_sex_edad<-fi

}       

Muchas gracias por vuestra ayuda.


write.foreign, codefile.sps

de Raul Medina -

Hola a todos,

Tengo problemas para exportar  datos a un archivo de tipo de spss (.sav) desde R, usando la paqueteria "foreign".

Lo que hago es lo siguiente uso la función "write.foreign" con los siguientes argumentos:



write.foreign(data, datafile="PRUEBA.sav", codefile="codigo.sps", package="SPSS")

Todo hasta ahí está bien.

Obtengo dos archivos uno .sav (PRUEBA.sav) que tiene los datos y otro .sps (codigo.sps) que es una sintaxis de spss para agregar etiquetas los value labels y nombres a las variables.

Luego abro el archivo de datos (PRUEBA.sav) con ayuda del asistente para importación de texto de spss, separo el texto, especifico que el delimitador es la coma y asi tengo una base en spss.

El problema es que no sé como usar el archivo .sps, lo intento correr en spss pero me marca errores

EL CODIGO.sps comienza así:

SET DECIMAL=DOT.

DATA LIST FILE= "PRUEBA2.sav"  free (",")

ENCODING="Locale"

/ estatus (F8.0) con * start (F8.0) end (F8.0) edo 


pero me marca el siguiente error


DATA LIST SPSS Statistics no puede acceder a un archivo con la especificación de archivo determinada.  La especificación de archivo no es válida sintácticamente, especifica una unidad no válida, especificar un directorio protegido, especifica un archivo protegido o especifica un archivo no compartido. 


Ojala alguien que use estos archivos  me pueda ayudar a encontrar el error, porque necesito etiquetar la base y ponerle nombres a las variables y como son muchisimas variables no es eficiente hacerlo manualmente.


Saludos y gracias


Libreria R

de Hugo Abelenda -

Tengo la siguiente tabla con  una variable independiente “Datos” y una dependiente “Resultados”

Datos

Resultado

28

-2

28

-2

28

5

28

-2

28

-2

28

-2

28

-2

28

5

28

-2

28

5

28

-2

28

-2

28

-2

28

-2

28

-2

28

-2

28

-2

27

5

27

5

27

-2

27

5

27

5

27

5

27

5

27

5

27

-2

27

-2

27

-2

27

5

27

5

27

5

27

-2

26

5

26

-2

26

5

26

-2

26

-2

26

5

26

-2

25

-2

25

-2

25

-2

25

5

25

-2

25

5

24

-2

24

-2

24

-2

24

5

24

5

24

-2

24

5

24

5

23

-2

23

5

23

-2

23

-2

23

-2

23

-2

23

-2

23

-2

23

-2

22

-2

22

-2

22

5

22

-2

22

-2

22

-2

22

-2

22

-2

22

-2

22

-2

22

-2

 

De acuerdo a esa tabla, cuando “Datos” es >27, la suma de “Resultados” es -13. Para valores de “Datos” =<24 la suma de “Resultados” es -26. Con valores de “Datos” >=24 y <=27 la suma de resultados es 61, que es el resultado máximo que se puede lograr con la serie anterior.

Mi consulta es: ¿existe alguna librería en R que me permita realizar este análisis?, o sea, encontrar el rango de valores independientes que me permitan maximizar los resultados ligados a ellos.