删除SAS中两个值之间的行

ck

对于以下数据,我正在尝试根据这些条件过滤每个组ID的行:

  • 在每行之后type='B' and value='Y'执行以下操作
    • 删除行,直到下一行具有type='F' and value='Y'
  • 如果没有B ='Y,则全部保留(例如id = 002)

我们可以创建我想要的数据集中显示的flag变量吗?这样我就可以过滤Flag ='Y'?

  ID     Type     Date         Value
  001     F       1/2/2018      Y
  001     B       1/3/2018
  001     B       1/4/2018      Y
  001     B       1/5/2018
  001     B       1/6/2018
  001     F       1/6/2018      Y
  001     B       1/6/2018      
  001     B       1/7/2018
  001     B       1/8/2018      Y
  001     B       1/8/2018
  001     B       1/9/2018
  002     F       1/2/2018      Y
  002     B       1/3/2018
  002     B       1/4/2018

  ID     Type     Date         Value   Flag
  001     F       1/2/2018      Y       Y
  001     B       1/3/2018              Y
  001     B       1/4/2018      Y       Y 
  001     B       1/5/2018
  001     B       1/6/2018
  001     F       1/6/2018      Y       Y
  001     B       1/6/2018              Y
  001     B       1/7/2018              Y
  001     B       1/8/2018      Y       Y 
  001     B       1/8/2018
  001     B       1/9/2018
  002     F       1/2/2018      Y       Y
  002     B       1/3/2018              Y
  002     B       1/4/2018              Y

我尝试执行以下操作

data F;
set have;
where Type='F';run;

data B;
 set have;
 where Type='B';run;

 proc sql;
  create table all as select
  a.* from B as b
  inner join F as f
  on a.id=b.id
  and b.date >= a.date;
quit;

这包括我有数据集的所有行。任何帮助深表感谢。

理查德

计算作为组内连续子组(称为行的“行”)的一部分的行的状态的标准ID相对简单,但是如果发生一些有趣的数据情况,则可能会发生或指出一种受损的状态:

  • FY之前两个或更多BY(额外的“运行结束”)
  • BY之前的两个或多个FY(在一次运行中“运行开始”)
  • 组中的第一行不是FY(“运行开始”不是组中的第一行)
data want(drop=run_:);
  SET have;
  BY id;

  run_first = (type='F' and value='Y');
  run_final = (type='B' and value='Y');

  * set flag state at criteria for start of contiguous sub-group criteria;
  run_flag + run_first;

  if first.id and NOT run_flag then
    put 'WARNING: first row in group ' id= ' is not F Y, this may be incorrect';

  if run_flag > 1 and run_first then 
    put 'WARNING: an additional F Y before a B Y at row ' _n_;

  if run_flag then
    OUTPUT;

  if run_flag = 0 and run_final then 
    put 'WARNING: an additional B Y before a F Y at row ' _n_;

  * reset flag at criteria for contiguous sub-group;
  if last.id or run_final then 
    run_flag = 0;
run;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除两个值之间的值

来自分类Dev

删除行中两个IconButton之间的多余空间

来自分类Dev

Python:从列表中的两个值之间删除所有值

来自分类Dev

从两个表中删除值

来自分类Dev

过滤给定值在两个列值之间的pandas DataFrame中的所有行

来自分类Dev

SED删除两个模式之间的特定行?

来自分类Dev

显示两个修订之间已删除行的列表

来自分类Dev

在DataGridView中的两个单元格之间删除行分隔符

来自分类Dev

根据数据框中两个不同列之间的匹配来删除行

来自分类Dev

如何通过删除两个条件之间的所有内容来压缩Pandas中的行

来自分类Dev

在DataGridView中的两个单元格之间删除行分隔符

来自分类Dev

删除行中两个符号之间的字符串

来自分类Dev

删除tcl文件中两个感兴趣的实例之间的行

来自分类Dev

删除行,但不是 Notepad++ 中两个单词之间的空格

来自分类Dev

如何在Sql中的表行中的两个值之间切换

来自分类Dev

如果值不在同一列的其他两个值之间,则删除熊猫行

来自分类Dev

仅返回数组中两个值之间的值?

来自分类Dev

如何在SQL中的并发表行的两个值之间切换

来自分类Dev

删除表中两个td元素之间的空间

来自分类Dev

删除图像中两个对象之间的连接

来自分类Dev

删除文件中两个单词之间的字符

来自分类Dev

删除bash中两个模式之间的部分

来自分类Dev

熊猫-汇总两个值之间的两行之间的值

来自分类Dev

如何从data.frame中删除其中两个特定列缺少值的行?

来自分类Dev

SSRS报告中两个TextBox值之间的相乘

来自分类Dev

txt文件,python中两个值之间的差异

来自分类Dev

如何管理python中两个范围之间的值?

来自分类Dev

在Excel中查找两个值之间的数据

来自分类Dev

n计算两个表中的值之间的差

Related 相关文章

  1. 1

    删除两个值之间的值

  2. 2

    删除行中两个IconButton之间的多余空间

  3. 3

    Python:从列表中的两个值之间删除所有值

  4. 4

    从两个表中删除值

  5. 5

    过滤给定值在两个列值之间的pandas DataFrame中的所有行

  6. 6

    SED删除两个模式之间的特定行?

  7. 7

    显示两个修订之间已删除行的列表

  8. 8

    在DataGridView中的两个单元格之间删除行分隔符

  9. 9

    根据数据框中两个不同列之间的匹配来删除行

  10. 10

    如何通过删除两个条件之间的所有内容来压缩Pandas中的行

  11. 11

    在DataGridView中的两个单元格之间删除行分隔符

  12. 12

    删除行中两个符号之间的字符串

  13. 13

    删除tcl文件中两个感兴趣的实例之间的行

  14. 14

    删除行,但不是 Notepad++ 中两个单词之间的空格

  15. 15

    如何在Sql中的表行中的两个值之间切换

  16. 16

    如果值不在同一列的其他两个值之间,则删除熊猫行

  17. 17

    仅返回数组中两个值之间的值?

  18. 18

    如何在SQL中的并发表行的两个值之间切换

  19. 19

    删除表中两个td元素之间的空间

  20. 20

    删除图像中两个对象之间的连接

  21. 21

    删除文件中两个单词之间的字符

  22. 22

    删除bash中两个模式之间的部分

  23. 23

    熊猫-汇总两个值之间的两行之间的值

  24. 24

    如何从data.frame中删除其中两个特定列缺少值的行?

  25. 25

    SSRS报告中两个TextBox值之间的相乘

  26. 26

    txt文件,python中两个值之间的差异

  27. 27

    如何管理python中两个范围之间的值?

  28. 28

    在Excel中查找两个值之间的数据

  29. 29

    n计算两个表中的值之间的差

热门标签

归档