2016-06-07 5 views
1

Ich habe Daten alsCollapse Elemente in R mit NA

Date1  Date2   Date3 
    2005-12-22 NA   NA 
    2009-10-11 NA   NA 
    NA   2005-04-11 NA 
    NA   NA   2008-11-06 
    NA   NA   2006-01-02 
    NA   2005-04-16 2006-01-02 

Ich möchte Elemente mit NA kollabieren und erhalten wie:

Date1  Date2   Date3 
2005-12-22 2005-04-11  2008-11-06  
2009-10-11 2005-04-16  2006-01-02  
          2006-01-02 

Antwort

4

Wenn wir nichts dagegen haben, den Auftrag verlieren, dann vielleicht versuchen Sie dies:

apply(df1, 2, sort, na.last = TRUE) 

den Auftrag zu bleiben:

sapply(1:ncol(df1), 
     function(i){ 
     c(
      df1[, i][!is.na(df1[, i])], 
      df1[, i][ is.na(df1[, i])] 
      ) 
     }) 
+0

Funktioniert gut für Bedürfnisse, danke für Logik – VASISTA