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