【发布时间】:2019-07-10 16:12:43
【问题描述】:
我需要你的帮助。我有一个包含日期和值的数据框,如下所示:
Id Date1 Date2 Value
1 01/01/18 01/03/18 1.000
2 01/05/18 01/07/18 500
3 01/03/18 01/06/18 17.000
4 01/12/18 01/01/19 670
5 01/10/18 01/12/18 9.600
我需要创建一个 for 循环,以便将新列添加到 i = (0, 60, 90, 180, 270, 360) 的数据帧中,所以 -> 如果 RifDate(是一个常数日期) - Date1 > i & RifDate - Date2
因此,我希望获得六个新列,其中包含 0 或行中的值
【问题讨论】:
-
您可以使用
df[paste0("newcol", i1)] <- sapply(i1, function(i) with(df, as.integer((RifDate - Date1) > i & (RifDate - Date2) < i))))。在此之前将“日期”列转换为Date类 -
@xxx 你的意思是“如果 RifDate(是一个恒定的日期) - Date1 > i & RifDate - Date2”,这不是很清楚你在追求什么。
标签: r