Re: [R-es] NA no es reconocido como NA

2014-08-13 Por tema daniel
Espero esto te oriente:

 df <- data.frame( a= 7:8, b= c(NA, NA))
 df
 df[is.na(df)] <- df$a
 df

x <- c(NA, "", "NA")
 typeof(x[1])
 typeof(x[2])
 typeof(x[3])
 typeof(x[4])
 c(is.na(NA), is.na(""), is.na("NA"))


Suerte,

Daniel Merino


El 13 de agosto de 2014, 17:06, neo  escribió:

> Estimados, cuál es la diferencia para R entre :
>
> NA
> 
> ""
> "NA"
>
> Cuando estan en un archivo de texto que sera leido como tabla como en el
> archivo que les envie ?
>
>
> Gracias, eric.
>
>
>
>
>
> On 13/08/14 15:34, Igor Sosa Mayor wrote:
> > neo  writes:
> >
> >> fila n-1 columna j en (n,j) ... aqui es donde esta el problema pues la
> >> instruccion IF no reconoce los elementos NA como NA y el ciclo pasa sin
> >> completar copiar nada en la fila n, me explico ?
> >>
> >> envio el codigo y el archivo que estoy usando a ver si alguien me
> >> orienta donde esta el error.
> >>
> >> he probado con:
> >>
> >>  if (dat[n,1] == "NA")
> >>  if (dat[n,1] == "")
> >>  if (dat[n,1] == "")
> >
> > ¿has probado con is.na(x)? Ten en cuenta que devuelve TRUE o FALSE por
> > lo que tendrías que adaptar el código...
> >
>
> --
> Forest Engineer
> Master in Environmental and Natural Resource Economics
> Ph.D. student in Sciences of Natural Resources at La Frontera University
> Member in AguaDeTemu2030, citizen movement for Temuco with green city
> standards for living
>
> Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
> lectores de correo.
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Daniel

[[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] NA no es reconocido como NA

2014-08-13 Por tema David Suárez
Según la ayuda de la función read.table:
> ?read.table
.
.
.
na.strings: a character vector of strings which are to be interpreted
  as ‘NA’ values.  Blank fields are also considered to be
  missing values in logical, integer, numeric and complex
  fields.

"NA" o "" es el valor por defecto que la función read.table interpretará
como la constante NA, aunque puedes elegir otro comportamiento para esta
función con el argumento na.strings="otra_cosa".

En resumen, si usas read.table sin ese argumento y en tu archivo las celdas
que buscas remplazar contienen la cadena "NA" serán reconocidas por la
función is.na, de otra manera no.

Saludos


El 13 de agosto de 2014, 15:06, neo  escribió:

> Estimados, cuál es la diferencia para R entre :
>
> NA
> 
> ""
> "NA"
>
> Cuando estan en un archivo de texto que sera leido como tabla como en el
> archivo que les envie ?
>
>
> Gracias, eric.
>
>
>
>
>
> On 13/08/14 15:34, Igor Sosa Mayor wrote:
> > neo  writes:
> >
> >> fila n-1 columna j en (n,j) ... aqui es donde esta el problema pues la
> >> instruccion IF no reconoce los elementos NA como NA y el ciclo pasa sin
> >> completar copiar nada en la fila n, me explico ?
> >>
> >> envio el codigo y el archivo que estoy usando a ver si alguien me
> >> orienta donde esta el error.
> >>
> >> he probado con:
> >>
> >>  if (dat[n,1] == "NA")
> >>  if (dat[n,1] == "")
> >>  if (dat[n,1] == "")
> >
> > ¿has probado con is.na(x)? Ten en cuenta que devuelve TRUE o FALSE por
> > lo que tendrías que adaptar el código...
> >
>
> --
> Forest Engineer
> Master in Environmental and Natural Resource Economics
> Ph.D. student in Sciences of Natural Resources at La Frontera University
> Member in AguaDeTemu2030, citizen movement for Temuco with green city
> standards for living
>
> Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
> lectores de correo.
>
> ___
> 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] NA no es reconocido como NA

2014-08-13 Por tema neo
Estimados, cuál es la diferencia para R entre :

NA

""
"NA"

Cuando estan en un archivo de texto que sera leido como tabla como en el
archivo que les envie ?


Gracias, eric.





On 13/08/14 15:34, Igor Sosa Mayor wrote:
> neo  writes:
> 
>> fila n-1 columna j en (n,j) ... aqui es donde esta el problema pues la
>> instruccion IF no reconoce los elementos NA como NA y el ciclo pasa sin
>> completar copiar nada en la fila n, me explico ?
>>
>> envio el codigo y el archivo que estoy usando a ver si alguien me
>> orienta donde esta el error.
>>
>> he probado con:
>>
>>  if (dat[n,1] == "NA")
>>  if (dat[n,1] == "")
>>  if (dat[n,1] == "")
> 
> ¿has probado con is.na(x)? Ten en cuenta que devuelve TRUE o FALSE por
> lo que tendrías que adaptar el código...
> 

-- 
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city
standards for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
lectores de correo.

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


Re: [R-es] NA no es reconocido como NA

2014-08-13 Por tema neo
gracias igor, voy a probar,

slds, eric.






On 13/08/14 15:34, Igor Sosa Mayor wrote:
> neo  writes:
> 
>> fila n-1 columna j en (n,j) ... aqui es donde esta el problema pues la
>> instruccion IF no reconoce los elementos NA como NA y el ciclo pasa sin
>> completar copiar nada en la fila n, me explico ?
>>
>> envio el codigo y el archivo que estoy usando a ver si alguien me
>> orienta donde esta el error.
>>
>> he probado con:
>>
>>  if (dat[n,1] == "NA")
>>  if (dat[n,1] == "")
>>  if (dat[n,1] == "")
> 
> ¿has probado con is.na(x)? Ten en cuenta que devuelve TRUE o FALSE por
> lo que tendrías que adaptar el código...
> 

-- 
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city
standards for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
lectores de correo.

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


Re: [R-es] NA no es reconocido como NA

2014-08-13 Por tema Igor Sosa Mayor
neo  writes:

> fila n-1 columna j en (n,j) ... aqui es donde esta el problema pues la
> instruccion IF no reconoce los elementos NA como NA y el ciclo pasa sin
> completar copiar nada en la fila n, me explico ?
>
> envio el codigo y el archivo que estoy usando a ver si alguien me
> orienta donde esta el error.
>
> he probado con:
>
>  if (dat[n,1] == "NA")
>  if (dat[n,1] == "")
>  if (dat[n,1] == "")

¿has probado con is.na(x)? Ten en cuenta que devuelve TRUE o FALSE por
lo que tendrías que adaptar el código...

-- 
:: Igor Sosa Mayor :: joseleopoldo1...@gmail.com ::
:: GnuPG: 0x1C1E2890   :: http://www.gnupg.org/  ::
:: jabberid: rogorido  ::::

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


[R-es] NA no es reconocido como NA

2014-08-13 Por tema neo
Estimada comunidad, tengo el siguiente problema:

Tengo una tabla de datos de 563 x 7, de las 7 columnas las 4 primeras
son de identificacion de una muestra y las 3 ultimas identifican a una
variable respuesta medida en esa muestra. Hay varias respuestas para
cada muestra y la cantidad de respuestas puede variar entre 1 y 7.

El problema es que la identificacion de cada muestra esta puesta una
unica vez para todas las respuestas de esa muestra (todas las respuestas
de una misma muestra estan puestas juntas). Podria completar la tabla a
mano, pero ya que son mas de 500 filas hice un pequeño loop para
completar lo que falta. La idea es bastante simple, si el elemento de la
fila n columna j es "NA" entonces se deberia copiar el elemento de la
fila n-1 columna j en (n,j) ... aqui es donde esta el problema pues la
instruccion IF no reconoce los elementos NA como NA y el ciclo pasa sin
completar copiar nada en la fila n, me explico ?

envio el codigo y el archivo que estoy usando a ver si alguien me
orienta donde esta el error.

he probado con:

 if (dat[n,1] == "NA")
 if (dat[n,1] == "")
 if (dat[n,1] == "")

y con lo mismo pero %in% en lugar de ==


  # rellenar los espacios vacios de la identificacion

  dat[,1] <- as.character(dat[,1])
  n <- 2
  for (n in 2:nrow(dat))
  {
if (dat[n,1] %in% "NA")
  {
dat[n,1] <- dat[n-1,1]
dat[n,2] <- dat[n-1,2]
dat[n,3] <- dat[n-1,3]
dat[n,4] <- dat[n-1,4]
  }
  n <- n + 1
  }


muchas gracias por su tiempo,

slds, eric.



-- 
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city
standards for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
lectores de correo.
"sol"	"con"	"dia"	"rep"	"NCa"	"Nin"	"Iso"
"con"	"0"	"08"	"1"	16	0	3
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"con"	"0"	"09"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"con"	"0"	"10"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"con"	"0"	"11"	"1"	16	0	3
NA	NA	NA	NA	16	1	4
NA	NA	NA	NA	16	1	4
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
"con"	"0"	"08"	"2"	16	0	3
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"con"	"0"	"10"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"con"	"0"	"11"	"2"	16	0	3
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	2	3
"con"	"0"	"08"	"3"	16	0	3
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"con"	"0"	"11"	"3"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"09"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"10"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"11"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"12"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"09"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"10"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"11"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"12"	"2"	16	0	3
NA	NA	NA	NA	16	1	4
NA	NA	NA	NA	16	1	4
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
"dec"	"1"	"09"	"3"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"11"	"3"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"1"	"12"	"3"	16	0	3
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"2"	"09"	"1"	16	0	1
NA	NA	NA	NA	18	0	1
"dec"	"2"	"10"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"2"	"11"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"2"	"12"	"1"	16	0	3
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"2"	"09"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"2"	"10"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"2"	"11"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"2"	"12"	"2"	16	0	3
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
NA	NA	NA	NA	18	3	3
"dec"	"2"	"09"	"3"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"2"	"11"	"3"	16	0	3
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"2"	"12"	"3"	16	0	3
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"3"	"09"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"3"	"10"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"3"	"11"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"3"	"12"	"1"	16	0	3
NA	NA	NA	NA	16	1	4
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"3"	"09"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"3"	"10"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"3"	"11"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"3"	"12"	"2"	16	0	3
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"3"	"09"	"3"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"3"	"11"	"3"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"3"	"12"	"3"	16	0	3
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"4"	"09"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"4"	"10"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"4"	"11"	"1"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"4"	"12"	"1"	16	0	3
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"4"	"09"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"4"	"10"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"4"	"11"	"2"	16	0	2
NA	NA	NA	NA	18	0	2
"dec"	"4"	"12"	"2"	16	0	3
NA	NA	NA	NA	16	1	4
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"4"	"09"	"3"	16	0	3
NA	NA	NA	NA	16	1	2
NA	NA	NA	NA	18	0	3
NA	NA	NA	NA	18	1	2
"dec"	"4"	"11"	"3"	16	0	1
NA	NA	NA	NA	18	0	1
"dec"	"4"	"12"	"3"	16	0	3
NA	NA	NA	NA	16	1	2
NA	NA	N

[R-es] [Antes sin asunto] espacios en celdas excel y table

2014-08-13 Por tema Alfredo Alvarado
Buenas tardes tengan todos. Un saludo a todo el grupo.
Muchas gracias por las orientaciones Jorge y Julio..
Efectivamente, el problema era que las celdas de excel no estaban del
todo homogéneas. Me toco algo de trabajo manual al respecto.
Con respecto a la opción de eliminar espacios, que era uno de los
problemas, y ya cuando superé el tema de las diferencias de tipeo, o
de cómo plasmaron la información en excel quienes la recopilaron, es
strip.white=TRUE, del comando o función table.

read.table(file.choose(), header = TRUE, sep =";", strip.white = TRUE)

Nuevamente agradecido por las orientaciones.





>Jorge I Velez 
>
>11 de ago. (hace 2 días)
>
>Hola Alfredo,
>
>Algunos comentarios/observaciones:
>
>1.  No uses attach.  Mejor, explora la funcion with() y/o within().  attach es 
>muy peligroso.
>2.  Solo por curiosidad, como hiciste para crear la tabla usando
>latabla$ciudad de origen?  Supongo que deberia ser latabla$"ciudad de origen"
>3.  Lo que observas, tiene que ver con que en tus datos hay espacios 
>"escondidos".  Una forma de resolver este problema (desde R) es >utilizando el 
>paquete stringr y la funcion str_trim.  Hay dos ejemplos en la ayuda;  creo 
>que el primero de ellos ilustra lo que ocurre en tu >caso.
>
>Saludos cordiales,
>Jorge.-
>
>

2014-08-12 8:09 GMT+10:00 Alfredo Alvarado :
>
> Buenas tardes grupo, un saludo.
> Busco su amable ayuda en los siguiente:
> Tengo una tabla con alrededor de 20 variables en columnas.
> La tabla proviene de un excel convertido en csv.
> Estoy tomando dos variables: la columna correspondiente a "ciudad de
> origen" y "apellido" de la persona.
> hago:
> attach(latabla)
> y luego names(latabla), y me da las variables que digo, latabla$ciudad
> de origen, y latabla$apellido.
> Quiero ver las dos columnas para ver de acuerdo a la ciudad de origen
> las frecuencias de los apellidos registrados:
> table(latabla$ciudad de origen, latabla$apellido)
>
> Me da, efectivamente la tabla que quiero, en las filas la ciudad de
> origen, en las columnas los apellidos, y en los campos, la frecuencia
> de apellidos por ciudad de origen.
> Sin embargo, la pregunta que tengo es que la tabla resultante genera
> una fila sin nombre, y una columna sin nombre, la primera fila y la
> primera columna, y le asigna un valor de 1, como si hubiera un dato, y
> al resto 0. Es decir, como si ese campo vacío con esa columna vacía
> generara un valor.
> He revisado la tabla, la he cambiado, pero no logrop quitarle eso.
> Por otra parte, y aún más importante, algunas ciudades, no todas, (de
> 58, sólo 2), las repite como nombres de filas diferentes, aunque se
> trata del mismo nombre, lo coloca como si se tratara de dos distintos.
> Le cambié el nombre en excel y sigue haciendo lo mismo.
> No tengo idea del por qué sucede esto último. Las otras ciudades las
> usa como una sola fila y coloca los valores, a excepción de esas dos
> ciudades que las divide como si fueran diferentes, y las pone una
> debajo de la otra, dos veces el mismo nombre.
> ¿Alguna idea que puedan ofrecerme al respecto?
> De antemano, gracias a todos-.
>
> ___
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

Julio Di Rienzo 

12 de ago. (hace 1 día)


para mí
Alfredo fíjate si table no tiene un argumento como na.omit y en tal
caso ponerlo en TRUE

Enviado desde mi iPad

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