【发布时间】:2021-02-11 04:01:45
【问题描述】:
我正在尝试通过 STUDY_ID 查找数据集二。数据集 1 有 450,000 行具有唯一 STUDY-ID。数据集中的每个 STUDY_ID 都有一个 INDEX_DATE。数据集 2 有 2,000,000 行相同的 STUDY-ID,但有重复和不同的 ADMIT_TIME。数据集 2 有另一个变量 CARE_SETTING(编码为“I”/“O”/“E”/“U”)。
如果所有条目的 CARE_SETTING 相同(所有“I”、“O”等),然后为 CARE_SETTING 显示“I”、“O”等条目;如果是“O”、“I”、“E”、“U”的任何混合,则 CARE_SETTING 显示“I”,如果除“I”之外的任何其他组合,CARE_SETTING 显示“O”。
数据集 1 (df1)
| STUDY_ID | INDEX_DATE |
|---|---|
| 1234 | 8-Oct-20 |
| 1235 | 13-Jul-20 |
| 1236 | 5-Jun-19 |
| 1237 | 18-Aug-20 |
| 1238 | 13-Jan-20 |
| 1239 | 12-Sep-20 |
数据集 2 (df2)(为了便于阅读,键入 * 表示日期等于 INDEX_DATE)
| STUDY_ID | ADMIT_TIME | CARE_SETTING |
|---|---|---|
| 1234 | 8-Oct-20* | E |
| 1234 | 8-Oct-20* | O |
| 1236 | 25-Feb-19 | I |
| 1236 | 28-Aug-20 | I |
| 1238 | 13-Jan-20* | I |
| 1238 | 13-Jan-20* | O |
| 1239 | 2-Feb-20 | E |
| 1239 | 12-Sep-20* | O |
| 1235 | 13-Jul-20* | E |
| 1235 | 13-Jul-20* | E |
| 1237 | 22-Mar-20 | O |
| 1237 | 12-Apr-20 | I |
所需数据集
| STUDY_ID | INDEX_DATE=ADMIT_TIME | CARE_SETTING |
|---|---|---|
| 1234 | 8-Oct-20 | O |
| 1235 | 13-Jul-20 | E |
| 1238 | 13-Jan-20 | I |
| 1239 | 12-Sep-20 | O |
【问题讨论】:
-
1234如何得到“O”?它有两个值“E”和“O”。
-
O、E、U 的任意组合得到“O”。任何包含“I”的组合都会得到“I”。
-
在你的帖子中你提到了
any mixture of "O", "I", "E", "U", then show "I" for CARE_SETTING
标签: r if-statement merge vlookup