Estimados, cuál es la diferencia para R entre : NA <NA> "<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 <ericconchamunoz en gmail.com> 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] == "<NA>") > > ¿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.
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 <ericconchamunoz en gmail.com> escribió:> Estimados, cuál es la diferencia para R entre : > > NA > <NA> > "<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 <ericconchamunoz en gmail.com> 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] == "<NA>") > > > > ¿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 en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
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>", "NA") typeof(x[1]) typeof(x[2]) typeof(x[3]) typeof(x[4]) c(is.na(NA), is.na("<NA>"), is.na("NA")) Suerte, Daniel Merino El 13 de agosto de 2014, 17:06, neo <ericconchamunoz en gmail.com> escribió:> Estimados, cuál es la diferencia para R entre : > > NA > <NA> > "<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 <ericconchamunoz en gmail.com> 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] == "<NA>") > > > > ¿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 en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Daniel [[alternative HTML version deleted]]
> El 13 de agosto de 2014, 17:06, neo <ericconchamunoz en gmail.com> escribió: > >> Estimados, cuál es la diferencia para R entre : >> >> NA >> <NA> >> "<NA>" >> "NA"Para saberlo, usa "class", e.g.> class("NA")[1] "character"> class(NA)[1] "logical"> class(NA_integer_)[1] "integer"> class("<NA>")[1] "character" como demuestra el segundo y tercer ejemplos, hay varios tipos de NA. Saludos, Scott -- Scott Kostyshak Economics PhD Candidate Princeton University