【发布时间】:2020-11-19 14:12:50
【问题描述】:
对我的数据进行分组后,我想根据一个或多个现有值在两个方向上估算一列的值。我有以下数据:
id inw test found
001 0 1 <NA>
001 1 2 <NA>
001 1 3 No
001 1 4 No
002 1 1 No
002 0 2 <NA>
002 1 3 Yes
002 1 4 No
003 1 1 Yes
003 1 2 Yes
003 1 3 No
003 0 4 <NA>
数据按 id 分组,而 found 列在此处存在问题。本质上,如果组中出现“否”值,则所有先前的值都应更改为“否”。如果出现“是”,则所有后续值都应更改为“是”。
因此,最终的结果应该是这样的:
id inw test found
001 0 1 No
001 1 2 No
001 1 3 No
001 1 4 No
002 1 1 No
002 0 2 <NA>
002 1 3 Yes
002 1 4 Yes
003 1 1 Yes
003 1 2 Yes
003 1 3 Yes
003 0 4 Yes
至关重要的是,如果在它之后的任何地方都没有“否”值,或者在组内它之前的任何地方都没有“是”值,则 NA 可以保留(在上面的组 id == 002 中突出显示)。
任何帮助将不胜感激!
谢谢, 迪伦
【问题讨论】:
-
虽然已经解决了,但是请告诉我yes, no, yes, no应该转换成什么序列?是的,是的,是的,是的,或者是的,不是的,是的,是的。我的意思是问规则的优先级。