在处理一个很大的患者检验表,表列名为患者唯一号,检验项目和时间。怎么根据同一个患者同一个检验项目根据检查时间的进行筛选提取。同一个病人同一个检验项目只保留最后一次检查的结果。怎么用R代码解决。
该回答引用GPTᴼᴾᴱᴺᴬᴵ
你可以使用dplyr包进行数据处理。具体的步骤如下:
导入数据,假设数据的名称为data。
将数据按照患者唯一号和检验项目进行分组,并按照时间的降序排列。
library(dplyr)
data <- data %>%
arrange(desc(时间)) %>%
group_by(患者唯一号, 检验项目)
data <- distinct(data, 患者唯一号, 检验项目, .keep_all = TRUE)
完整的代码如下:
library(dplyr)
# 导入数据
data <- read.csv("path/to/data.csv")
# 按照患者唯一号和检验项目分组,按照时间降序排列
data <- data %>%
arrange(desc(时间)) %>%
group_by(患者唯一号, 检验项目)
# 保留每个组的第一个观测值(即最后一次检查的结果)
data <- distinct(data, 患者唯一号, 检验项目, .keep_all = TRUE)
这样,你就得到了一个只包含每个病人每个检验项目最后一次检查结果的数据集。