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 <[email protected]> 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 (<[email protected] >> <mailto:[email protected]>>) 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 <[email protected] >>> <mailto:[email protected]>> 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 >>> [email protected] <mailto:[email protected]> >>> 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 > [email protected] > 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: [email protected] [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-help-es
