簡體   English   中英

為R中的每一行找到3列的MIN值

[英]Find MIN value of 3 Columns for Each Row in R

我有一個數據框,如下所示:

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     

我需要添加第5列,稱為“ MinDate”,在忽略NA值的同時,返回R中位於第2列至第4列中三個不同日期的最小值(盡管如果全部為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列。

我想我明白了:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM