在R中使用ifelse语句创建新变量

时间:2018-10-17 00:52:37

标签: r date if-statement

我想使用ifelse语句和以下数据创建一个新变量:

   ID    Column 1    Column 2    Column 3    Column 4     Column 5 
   Ann        1           Y            A     2000-10-15  2000-10-14
   Ann        1           N            A     2000-10-16  2000-11-14
   Ben        1           Y            B     2000-10-11  2000-11-14
   Ben        2           Y            B     2000-11-13  2000
   Fred       1           N            A     2000-11-11  2000-11-15
   Jenny      1           Y            A     2001-11-12  2000-10-14
   Jenny      1           Y            A     2001-11     2000-11-15

通过ID,我希望找到符合特定条件的最后完成日期。如果第1列中的日期为1,则仅选择最后一个日期,否则第3列中的A为空白。我要使用的第二个条件是按ID,如果第3列是B,则保留该B日期。看起来像这样:

   ID    Column 1      Column 2   Column 3   Column 4   Column 5    Column 6 
   Ann        1           Y            A     2000-10-15  2000-10-14 2000-10-15
   Ann        1           N            A     2000-10-16  2000-11-14
   Ben        1           Y            B     2000-10-11  2000-11-14 2000-11-14
   Ben        2           Y            B     2000-11-13  2000
   Fred       1           N            A     2000-11-11  2000-11-15
   Jenny      1           Y            A     2001-11-12  2000-10-14 2001-11-12
   Jenny      1           Y            A     2001-11     2000-11-15

我相信if语句会像这样,但是可能会有更好的方法。此外,我的lastcompletedate函数不完整:

 ifelse(Column 1 == 1 & Column 3 == "Y", lastcompletedate(Column4), 
 ifelse(Column 2 == 'B', lastcompletedate(Column5), "") 
 lastcompletedate <-ddply(df,.(ID), tail,1) 

0 个答案:

没有答案