【发布时间】:2019-07-22 03:18:21
【问题描述】:
我的 df 看起来像这样:
dfin <-
ID DAY SIZE
1 -5 10
1 -2 15
1 0 10
1 1 20
2 5 20
3 -5 2
3 -4 10
3 1 15
我想对 DAY 行进行子集化,这样:如果主题的 DAY 值在 DAY 值中具有值 0(基线),则该主题的子集数据 DAY >= 0。如果某个主题的值以负数开头(并且没有 0 基线),则从壁橱中的负数 DAY 到该主题的正数 DAY 的子集。如果某个主题的 DAY 的值以正数开头(没有负数 DAY),则保留该主题的所有行。
输出应该是这样的:
dfout <-
ID DAY SIZE
1 0 10
1 1 20
2 5 20
3 -4 10
3 1 15
我正在使用 RStudio。使用 data.table 的首选解决方案,如果可能(选项 1)或 dplyr(选项 2)。
【问题讨论】:
标签: r dplyr data.table