[R-es] Merge me agrega siempre las columnas
jose luis
pepeceb en yahoo.es
Lun Oct 9 13:48:40 CEST 2017
Hola
Entiendo que donde pusiste k<-c(1,3,8,7) querías poner
x<-c(1,3,8,7)
Si es correcto, creo que el problema es que al ser "y" una variable presente en las dos tablas, o la incluyes como argumento para el cruce o te saldrá "duplicada" (le añade un punto para diferenciarla).¿es esto lo que quieres?
merge(df1,df2,by=c("id", "y"),all.x=TRUE)
id y z x
1: a1 1 3 NA
2: a2 2 5 NA
3: a3 3 6 NA
4: a4 4 7 7
El Lunes 9 de octubre de 2017 12:45, Jesús Para Fernández <j.para.fernandez en hotmail.com> escribió:
Buenas,
Tengo dos data.frames de la siguiente manera
library(data.table)
id<-c("a1","a2","a3","a4")
id2<-c("a2","a3","a1","a4")
y<-c(1,2,3,4)
z<-c(3,5,6,7)
k<-c(1,3,8,7)
df1<-data.table(id,y,z)
id<-c("a2","a3","a1","a4")
df2<-data.table(id,x,y)
Quiero que el resultado sea solo el LEFT JOIN, es decir, que me devuelva:
resultado--> id,x,y,z
Para ello pruebo, tal y como dicen en:
https://rstudio-pubs-static.s3.amazonaws.com/52230_5ae0d25125b544caab32f75f0360e775.html
merge(df1,df2,by="id",all.x=TRUE)
Pero me devuelve:
id y.x z x y.y
1: a1 1 3 3 3
2: a2 2 5 0 1
3: a3 3 6 2 2
4: a4 4 7 1 4
Es decir, me est� duplicando la columna y.
He probado con data.frame y usando all=FALSE, all.x=T,... pero no lo consigo.
�Alguna idea de como puedo hacerlo?
Gracais
[[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
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es