假设我有一个包含重复测量的数据框:
>m
id age diagnosis
1 4 0
1 7 1
1 9 0
2 6 1
4 9 1
4 10 0
诊断不是随时间变化的。我怎样才能在最后一次就诊(最大年龄)时提取诊断结果以获得这样的结果?
id age diagnosis
1 9 0
2 6 1
4 10 0
最佳答案
你可以尝试data.table的last()
library(data.table)
as.data.table(df)[, last(.SD), by = id]
# id age diagnosis
# 1: 1 9 0
# 2: 2 6 1
# 3: 4 10 0
或者使用dplyr slice(., n())
library(dplyr)
slice(group_by(df, id), n())
# Source: local data frame [3 x 3]
# Groups: id [3]
#
# id age diagnosis
# (int) (int) (int)
# 1 1 9 0
# 2 2 6 1
# 3 4 10 0
关于r - 如何从R中重复测量的数据集中提取 "final visit"处的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32491065/