在大型数据集中标记每个患者的第一个事件我有一个医疗数据集,其中每一行代表患者的一个事件。有些患者只有一个事件,有些患者有多个事件(由几行表示,每行都有相同的“Tx ID”(见下图),但是,我只想创建一个列来标记每个患者的第一个事件。
基础数据分析和建模苹果系统回复:在大型数据集中标记每个患者的第一个事件@cjw99
这是使用两列公式(或一个稍微复杂的公式)创建第二个表的一种方法,但是,它需要您对数据表进行排序。如果数据表按照您显示的顺序排列,那么这将起作用。如果不是,首先按 Bx Date - 升序对数据表进行排序,然后按 TX ID - 升序排序
拒绝数列跟踪按 TX ID 的拒绝数

最终公式列使用拒绝数来拼凑出与您的目标类似的输出。

您可以将两列合并为一列,但是,我更喜欢将它们分开,以防以后需要进行修改。如果您不想看到中间列,可以随时将其隐藏。
组合柱


如果您希望文本与 TCMR 序列列完全匹配,您可以在最后一列中使用值标签。
我确信还有其他方法可以到达目标列,但这是第一个想到的仅使用列公式的方法。
回复:在大型数据集中标记每个患者的第一个事件除了我刚才写的内容之外......也许这个数据表在存在拒绝是/否列的情况下更有意义

回复:在大型数据集中标记每个患者的第一个事件我不想滥用此服务,但是有没有办法使用此函数并指定满足另一列中的第二个条件的排名行?
例如......在我的数据集中,日期是活检日期。其中一些日期与感兴趣的结果(肾移植排斥)相关,而另一些则不然。
我希望能够做的是,如果所有行满足拒绝条件,则按顺序对所有行进行排名,同时跳过其他行。
最后,我会有一个专栏标记第一次拒绝、第二次拒绝等。
例如...如下所示。在此数据中,“Bx 日期”= 活检日期,“TCMR 序列”是指 T 细胞介导的排斥反应。
在这里,我已经将它们全部按顺序放入 TCMR 序列列中,但理想情况下,我想生成一个公式,自动对数据库中的所有 3,700 行执行此操作。
我熟悉创建简单的 If/Then 公式,但一旦公式必须评估给定患者的多行,我总是会遇到困难。

回复:在大型数据集中标记每个患者的第一个事件谢谢...我以前从未注意到选择重复行选项!
回复:在大型数据集中标记每个患者的第一个事件谢谢你!我知道一定有一个简单的方法可以做到这一点
回复:在大型数据集中标记每个患者的第一个事件您可以通过以下方式完成此操作
- 选择 TX ID 列
- 转到下拉菜单“行”=>“行选择”=>“选择重复行”
- 转到 RowState 列,右键单击选定的行之一,然后选择“反转选择”
- 在 RowState 列中,转到反转后选择的行之一,然后右键单击并选择“Label/UnLabel”。
现在,您将为每个不同的 TX ID 值选择所有前 l 行。
回复:在大型数据集中标记每个患者的第一个事件嗨@cjw99 -
有多种方法可以做到这一点。仅使用列公式的一种方法是使用 Col Rank()

这按 ID 对日期进行排名(最早的排名最低)并检查它是否为 1(返回 1 或 0 )。
在类似的数据表中,您将得到以下输出:

Col Rank 的好处是您不必对数据表进行排序,如果您将行打乱,它也会起作用。
回复:在大型数据集中标记每个患者的第一个事件嗨@cjw99 -
有多种方法可以做到这一点。仅使用列公式的一种方法是使用 Col Rank()

这按 ID 对日期进行排名(最早的排名最低)并检查它是否为 1(返回 1 或 0 )。
在类似的数据表中,您将得到以下输出:

Col Rank 的好处是您不必对数据表进行排序,如果您将行打乱,它也会起作用。
回复:在大型数据集中标记每个患者的第一个事件您可以通过以下方式完成此操作
- 选择 TX ID 列
- 转到下拉菜单“行”=>“行选择”=>“选择重复行”
- 转到 RowState 列,右键单击选定的行之一,然后选择“反转选择”
- 在 RowState 列中,转到反转后选择的行之一,然后右键单击并选择“Label/UnLabel”。
现在,您将为每个不同的 TX ID 值选择所有前 l 行。
回复:在大型数据集中标记每个患者的第一个事件谢谢你!我知道一定有一个简单的方法可以做到这一点