【问题标题】:Collapse Elements in R with NA [duplicate]用NA折叠R中的元素[重复]
【发布时间】:2016-06-07 14:53:21
【问题描述】:

我有数据

    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

我想用 NA 折叠元素并得到:

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

【问题讨论】:

    标签: r


    【解决方案1】:

    如果我们不介意丢失订单,那么不妨试试这个:

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

    保持顺序:

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

    【讨论】:

    • 满足需求,感谢逻辑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    相关资源
    最近更新 更多