[R-es] Problema con "merge" - 0 observaciones
Emilio L. Cano
em||opezc@no @end|ng |rom gm@||@com
Lun Feb 15 16:36:19 CET 2021
Según decías en el primer mensaje, el merge no lo usabas con “classifiers” sino con “Classifiers_File”. Si los datos no son confidenciales puedes enviar los dos dataframes en un .RData e intento reproducir el error.
>>>> datos_unidos<-merge(datos, Classifiers_File, by = "Id")
> El 15 feb 2021, a las 16:30, Andrea Guerrero <guerbach using gmail.com> escribió:
>
> Hola Emilio,
> gracias de nuevo por tu respuesta. He aplicado los colnames en el archivo de los classifiers y en el de datos y parece que no hay problemas de espacio en blanco al final. Este es el resultado que aparece:
>
> > colnames(classifiers)
> [1] "Id" "Sexo" "Especie"
> > colnames(datos)
> [1] "1.X" "1.Y" "2.X" "2.Y" "3.X" "3.Y" "4.X" "4.Y" "5.X" "5.Y" "6.X" "6.Y" "7.X" "7.Y" "8.X" "8.Y"
> [17] "9.X" "9.Y" "10.X" "10.Y" "11.X" "11.Y" "12.X" "12.Y" "13.X" "13.Y" "14.X" "14.Y" "15.X" "15.Y" "16.X" "16.Y"
> [33] "17.X" "17.Y" "18.X" "18.Y" "19.X" "19.Y" "20.X" "20.Y" "21.X" "21.Y" "22.X" "22.Y" "Id"
>
> No tengo ni idea de cual puede ser el problema. Muchísimas gracias por tu aportación.
>
> Un saludo,
>
> Andrea.
>
> El lun, 15 feb 2021 a las 16:08, Emilio L. Cano (<emilopezcano using gmail.com <mailto:emilopezcano using gmail.com>>) escribió:
> A ver esto: a veces me ha pasado que al importar datos de excel los encabezados de columna tienen espacios en blanco al final, y forman parte del nombre. Por ejemplo, si los nombres son “Id” e “Id “, no va a hacer el join. Ejecuta colnames(Classifiers_File) y colnames(datos) a ver si en alguno de los dos “Id” no es exactamente “Id”.
>
> Un saludo,
> Emilio
>
> > El 15 feb 2021, a las 16:01, Andrea Guerrero <guerbach using gmail.com <mailto:guerbach using gmail.com>> escribió:
> >
> > Gracias por la ayuda. Tanto en el tps como en el archivo Excel la columna
> > de los id's están como caracteres, así que supongo que, en este caso, no es
> > parte del problema.
> >
> > El lun, 15 feb 2021 a las 12:06, JA Palazón Ferrando (<palazon using um.es <mailto:palazon using um.es>>)
> > escribió:
> >
> >> Hola:
> >>
> >> Por si es útil:
> >>
> >> Cuidado con la lectura de los ficheros con campos
> >> con textos (habitualmente los ID), se convierten en factores y
> >> no son útiles para merge.
> >>
> >> Seguimos
> >>
> >> El 15/2/21 a las 11:53, Emilio L. Cano escribió:
> >>> No hay de qué Andrea, encantado de ayudar.
> >>>
> >>> Las columnas Id son las dos tipo carácter y debería hacer los “join”,
> >> pero puede que no lo haga porque Classifiers_File es un tibble y no un
> >> data.frame “puro”. Prueba a forzarlo así:
> >>>
> >>>> datos_unidos<-merge(datos, as.data.frame(Classifiers_File), by = "Id")
> >>> A ver si funciona.
> >>>
> >>> Un saludo,
> >>> Emilio
> >>>
> >>>> El 15 feb 2021, a las 11:39, Andrea Guerrero <guerbach using gmail.com <mailto:guerbach using gmail.com>>
> >> escribió:
> >>>>
> >>>> Muchas gracias por responder tan rápido. Estoy muy agradecida.
> >>>>
> >>>> Envío en el adjunto un .txt con la salida de str(datos) y str
> >> (Classifiers_File). En cuanto al error, no me da ningún mensaje
> >> advirtiéndome del problema, simplemente no me hace el "merge". No obstante,
> >> adjunto también una captura de pantalla de como queda el archivo una vez
> >> que aplicado la función.
> >>>>
> >>>> Gracias de nuevo.
> >>>>
> >>>> El lun, 15 feb 2021 a las 10:48, Emilio L. Cano (<
> >> emilopezcano using gmail.com <mailto:emilopezcano using gmail.com> <mailto:emilopezcano using gmail.com <mailto:emilopezcano using gmail.com>>>) escribió:
> >>>> Hola Andrea,
> >>>>
> >>>> No estoy seguro, pero posiblemente sea por el tipo de datos de las
> >> columnas a unir. Si compartes la salida que str(datos) y
> >> str(Classifiers_File) producen justo antes de llamar a merge podemos
> >> comprobarlo.
> >>>>
> >>>> Un saludo,
> >>>> Emilio
> >>>>
> >>>>> El 15 feb 2021, a las 9:40, Andrea Guerrero <guerbach using gmail.com <mailto:guerbach using gmail.com>
> >> <mailto:guerbach using gmail.com <mailto:guerbach using gmail.com>>> escribió:
> >>>>>
> >>>>> Buenos días,
> >>>>> Llevo más de una semana estancada en un problema que no logro
> >> solucionar.
> >>>>> Agradecería muchísimo si alguien me pudiera echar una mano y ayudar a
> >>>>> resolverlo. Ahora mismo estoy bloqueada con este asunto.
> >>>>>
> >>>>> Mi intención es hacer un merge de un dataframe (un tps) y un excel que
> >>>>> contiene los classifiers para poder hacer los análisis posteriores. El
> >>>>> problema está en que, cuando aplico la función " datos_unidos <-*merge
> >>>>> (datos, classifiers, by = "Id")* , el archivo creado me aparece como
> >> con *0
> >>>>> observaciones*. Lo raro es que esta función me funciona con algunos
> >>>>> archivos y con otros no. He probado en esta misma función poner los
> >>>>> argumentos by.x= "Id" y by.y= "Id". También, he probado de pasar el
> >> archivo
> >>>>> excel de los classifiers en un dataframe pero sin éxito.
> >>>>>
> >>>>> Por si sirve de algo, este es el procedimiento que he seguido:
> >>>>>
> >>>>>> library(geomorph)
> >>>>>> tps <-readland.tps(file.choose("File.tps"), specID = c("ID"),
> >> readcurves
> >>>>> = TRUE, warnmsg = T)
> >>>>>> slides <- define.sliders(c(3:22))
> >>>>>> gpa <- gpagen(A=tps,curves = slides, PrinAxes = TRUE, Proj = TRUE,
> >>>>> ProcD=FALSE, print.progress = TRUE)
> >>>>>> gdf <- geomorph.data.frame(gpa)
> >>>>>> gdf$coords
> >>>>>> datos1 <-two.d.array(gdf$coords)
> >>>>>> datos<-as.data.frame(datos1)
> >>>>> *#Classifiers*
> >>>>>> datos$Id<-rownames(datos)
> >>>>>> datos_unidos<-merge(datos, Classifiers_File, by = "Id")
> >>>>> Muchas gracias de antemano.
> >>>>>
> >>>>> [[alternative HTML version deleted]]
> >>>>>
> >>>>> _______________________________________________
> >>>>> R-help-es mailing list
> >>>>> R-help-es using r-project.org <mailto:R-help-es using r-project.org> <mailto:R-help-es using r-project.org <mailto:R-help-es using r-project.org>>
> >>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es> <
> >> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>>
> >>>> <Datos consola.txt><Captura de pantalla_merge0observaciones.JPG>
> >>>
> >>> [[alternative HTML version deleted]]
> >>>
> >>> _______________________________________________
> >>> R-help-es mailing list
> >>> R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> >>> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
> >>
> >> --
> >> ____________________________________________________________
> >> José Antonio Palazón Ferrando
> >> Profesor Titular. Departamento de Ecología e Hidrología.
> >> Facultad de Biología. Universidad de Murcia.
> >> Campus Universitario de Espinardo
> >> 30100 MURCIA-SPAIN
> >> Telf: +34 868 88 49 80
> >> Fax : +34 868 88 39 63
> >> Email: palazon using um.es <mailto:palazon using um.es>
> >>
> >>
> >> [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> R-help-es mailing list
> >> R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> >> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
> >>
> >
> > [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es using r-project.org <mailto:R-help-es using r-project.org>
> > https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
>
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es