Je voudrais fusionner data.frames
par la colonne "noms" commune mais en sélectionnant uniquement les colonnes "PA".
df <- data.frame(names=c("Obs1", "Obs2", "Obs3", "Obs4", "Obs5"), `S1`=c(1,2,2,0,1), `S2`=c(2,50,40,30,22), `S3`=c( 0,100,135,256,303), `S4`=c(0,10,17,73,74),check.names=FALSE)
df2<- data.frame(names=c("Obs1", "Obs2", "Obs3", "Obs4", "Obs5"), AB=c(0,30,30,40,2), PA=c(2,4,5,6,7))
df3<- data.frame(names=c("Obs1", "Obs2", "Obs3", "Obs4", "Obs5"), AB=c(100,300,300,400,200), PA=c(3,5,7,8,7))
df4<- data.frame(names=c("Obs1", "Obs2", "Obs3", "Obs4", "Obs5"), AB=c(110,310,310,410,210), PA=c(30,50,70,80,70))
Pour l'instant, toutes les colonnes sont importées, mais je voudrais sélectionner uniquement l'importation des "PA".
library(dplyr)
dff<- list(df,df2,df3, df4) %>%
Reduce(function(df,df2) left_join(df,df2,by="names"), .)
Curref dff :
names S1 S2 S3 S4 AB.x PA.x AB.y PA.y AB PA
1 Obs1 1 2 0 0 0 2 100 3 110 30
2 Obs2 2 50 100 10 30 4 300 5 310 50
3 Obs3 2 40 135 17 30 5 300 7 310 70
4 Obs4 0 30 256 73 40 6 400 8 410 80
5 Obs5 1 22 303 74 2 7 200 7 210 70
Désiré :
names S1 S2 S3 S4 PA_df2 PA_df3 PA_df4
1 Obs1 1 2 0 0 2 3 30
2 Obs2 2 50 100 10 4 5 50
3 Obs3 2 40 135 17 5 7 70
4 Obs4 0 30 256 73 6 8 80
5 Obs5 1 22 303 74 7 7 70