SAS 如何合并具有两个不同条件的两个数据集

问题描述 投票:0回答:1

这里我有两个数据集,其中包含患者 ID、访问、访问日期和结果,一个应用作具有正确信息的“主”数据集,而另一个数据集在访问和访问日期之间存在一些不一致。因此,我想将第二个数据集合并到“主”数据集以更正访问日期。请注意,一次访问可以有多个访问日期。

我有两种情况: 1.一次访问有多个访问日期,第二个数据集只有一个包含正确信息,所以我想添加一个新行,其中包含缺少的访问日期但结果为空。

2.该访问只有一个访问日期,但第二个数据集的日期错误,所以我只想更正日期。

一个非常简单的示例:主数据集如下所示:

患者ID 参观 参观日期 结果1
A 访问1 2024-9-11 1
A 访问1 2024-9-12 2
B 访问1 2024-9-13 3

第二个数据集如下所示:

患者ID 参观 参观日期 结果2
A 访问1 2024-9-11 123
B 访问1 2024-9-11 456

还有我想要的数据集:

患者ID 参观 参观日期 结果1 结果2
A 访问1 2024-9-11 1 123
A 访问1 2024-9-12 2 .
B 访问1 2024-9-13 3 456

这里患者A和B代表场景1和2。希望有人能帮忙找出一个简单的SAS代码来解决这个问题。预先感谢!

merge sas
1个回答
0
投票

当然!要使用 SAS 处理这些场景,您需要执行合并操作,同时确保满足每种情况的特定要求。下面是一个 SAS 代码片段,演示了如何实现这一目标。此示例假设您有两个名为 main 和 secondary 的数据集,并且您希望合并它们以产生所需的结果。

代码片段: 在此输入图片描述

注:

  • 如有必要,根据您的实际数据调整数据线。
  • coalesce 函数用于处理 Result2 可能是的情况 丢失的。它替代了 .对于缺失值。

此方法可确保您正确调整访问日期并处理您描述的两种情况。

© www.soinside.com 2019 - 2024. All rights reserved.