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

2014-08-15 Por tema Scott Kostyshak
> El 13 de agosto de 2014, 17:06, neo  escribió:
>
>> Estimados, cuál es la diferencia para R entre :
>>
>> NA
>> 
>> ""
>> "NA"

Para saberlo, usa "class", e.g.
> class("NA")
[1] "character"
> class(NA)
[1] "logical"
> class(NA_integer_)
[1] "integer"
> class("")
[1] "character"

como demuestra el segundo y tercer ejemplos, hay varios tipos de NA.

Saludos,

Scott


--
Scott Kostyshak
Economics PhD Candidate
Princeton University

___
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 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