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 en
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 en
gmail.com <mailto:emilopezcano en 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 en
gmail.com <mailto:guerbach en 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 en r-project.org <mailto:R-help-es en
r-project.org>
>>> 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 en r-project.org
> 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 en um.es
[[alternative HTML version deleted]]