【发布时间】:2017-12-12 20:04:48
【问题描述】:
我遇到了一些烦人的编码问题,非常感谢您的帮助。
以下是一些示例数据:
ID "2013-03-20" "2013-04-09" "2013-04-11" "2013-04-17"
5167f 0 0 0 1
1214m 0 0 0 0
1844f 0 1 1 0
2113m 0 0 1 1
问题来了:请注意示例数据框的列名如何包含日期,并且某些日期可能彼此接近。 ID 列是观察的简单唯一标识符。
这是我的目标:
(1) 我希望能够首先根据它们是否在 2 周(或 14 天)范围内(即由从 @ 开始的 2 周增量定义)对列进行分组987654323@ 直到"2016-12-20");因此,如果它们确实在相同的范围内,它们将收到相同的标识符(对于新的数据框;例如,Period1 用于在 "2013-03-20" 和 "2013-04-03" 之间的任何日期)。
(2) 将所有日期列分配给特定时期后,我想按以下方式汇总每个时期的单元格数据(0 和 1):如果任何1 出现在特定时期对于个人(完全),那么该个人将在整个期间收到 1(此外,如果个人在该期间只有 0,那么它将在该单个期间收到 0)。
(3) 定义此工作流程后,我想根据月份代码按季节和年份对日期进行分组(例如,WinterYYYY = 十二月、一月、二月;SpringYYYY = 三月、四月、五月; SummerYYYY = 六月、七月、八月;FallYYYY = 九月、十月、十一月)生成新的数据框。
总而言之,手动演示产品:
(目标 1 和 2 的最终产品;即仅针对示例数据中的前两列 [括号中的日期范围仅供参考])
ID Period1 ("2013-03-20" - "2013-04-03") Period2 ("2013-04-04" - "2013-04-18")
5167f 0 1
1214m 0 0
1844f 0 1
2113m 0 1
(目标 2 和 3 的最终产品;即样本数据中的所有列[括号中的月份范围仅供参考])
ID Spring2013 (March - May)
5167f 1
1214m 0
1844f 1
2113m 1
也许,dplyr 包中的某些内容可能有用,但我不太确定。
提前感谢您的帮助。请随时提出任何后续问题以进行澄清。
-AD-
【问题讨论】:
-
如果您正在使用该列,为什么不转置
DateFrame
标签: r date merge dplyr grouping