在R中为每行查找3列的MIN值

时间:2016-01-30 00:14:28

标签: r min

我有一个数据框,如下所示:

ID      D1          D2          D3
103     2015-01-15  2014-06-10  2015-04-13
450     NA          2015-10-03  2014-02-02  
103     NA          NA          NA          
222     2014-03-03  NA          NA     

我需要添加一个名为" MinDate"的第5列,返回第2列到第4列中R中三个不同日期的最小值,同时忽略NA值(尽管如果所有都是NA,那么返回NA是可以的),例如下面:

ID      D1          D2          D3          MinDate
103     2015-01-15  2014-06-10  2015-04-13  2014-06-10
450     NA          2015-10-03  2014-02-02  2014-02-02
103     NA          NA          NA          NA
222     2014-03-03  NA          NA          2014-03-03

我可能会构建一个令人讨厌的ifelse声明,但我更愿意利用R的功能和基本功能,......我只是不确定如何。我正在接近使用类似的东西:

df$MinDate <- apply(df, 1, min, na.rm = TRUE)

但它包括ID列。

1 个答案:

答案 0 :(得分:1)

我想我明白了:

df$MinDate <- apply(df[,c(2:4)], 1, min, na.rm = TRUE)