gpt4 book ai didi

r - 如何根据 3 个 IF 语句选择行?

转载 作者:行者123 更新时间:2023-12-04 02:16:06 24 4
gpt4 key购买 nike

我有一个患者数据集。在此数据集中,我有 4 列 ID、PatientID、PhaseCode、EXAMDATE 和 EXCHANGE。

ID  |  PatientID  |  PhaseCode  |  EXAMDATE  |  EXCHANGE
--------------------------------------------------------
1 | 7366 | ADNI1 | 21/08/2015 | 1
2 | 7366 | ADNIGO | 21/08/2015 | 3
3 | 7366 | ADNI2 | 21/08/2015 | 2
4 | 7363 | ADNI1 | 21/08/2015 | 1
5 | 7363 | ADNI1 | 21/08/2015 | 1
6 | 7366 | ADNI1 | 21/08/2015 | 4
7 | 7366 | ADNIGO | 21/08/2015 | 5
8 | 7366 | ADNIGO | 21/08/2015 | 0
9 | 7366 | ADNI2 | 21/08/2015 | 1

记录数据的阶段有 3 种类型(ADNI1、ADNIGO、ADNI2)。正如您可能已经注意到的那样,一位患者的相同阶段名称重复了不止一次,或者可能只有一个阶段的记录。

我需要帮助来选择具有所有阶段记录的患者。例如,如果患者没有 ADNI2 的记录,那么我想将其删除。条件类似于:如果患者 7366 有记录,其中 phasecode 等于 ADNI1,ADNIGO 和 ADNI2 则包含在数据集中。

请帮忙。

最佳答案

我们可以使用一点tidyrdplyr。首先我们完成 PhaseCode/PatientID 的所有组合,然后我们group_by PatientID,然后我们从完成中删除那些有任何 NA 的患者:

library(tidyr)
library(dplyr)
dat %>% complete(PhaseCode, PatientID) %>%
group_by(PatientID) %>%
filter(!any(is.na(ID)))

关于r - 如何根据 3 个 IF 语句选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33552863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com