[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