所以我有一个数据集,其中有帐号,报告日期和默认标志。 我想创建一个新列,如果默认标志== 1,则新列应选择该日期,否则为0。
Reporting date Default Flag Account Number
31-05-2006 1
30-06-2006 0
31-07-2006 0
31-08-2006 1
30-09-2006 0
31-10-2006 0
30-11-2006 1
31-12-2006 0
31-01-2007 0
因此,每个帐号都有多个条目,我想要一个新列,只要Default标志达到== 1便提取日期。
提前谢谢! :)
答案 0 :(得分:0)
我们可以在此处使用ifelse
df$new_date <- ifelse(df$`Default Flag` == 1, df$`Reporting date`, 0)
顺便说一句,我不知道您的列名称中是否确实包含空格,但是如果它们确实包含空格,那么您将需要在引号中转义整个名称。这可能会导致代码很丑陋,因此可能会坚持使用单个名称而不带空格。
答案 1 :(得分:0)
另一种方法是将所有值设置为0,然后更改满意的值:
df[3] <- c(0,nrow(df))
D[D[,2]==1,3]=D[D[,2]==1,1]