r - 如何从R中重复测量的数据集中提取 "final visit"处的值?

标签 r data-extraction

假设我有一个包含重复测量的数据框:

 >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.tablelast()

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/

相关文章:

c - 使用 C 语言结构进行文件 I/O 提取

r - 距离矩阵多元回归 (MRM) 的自举系数

r - 任意定义函数的数值导数

r - R 中多重插补数据集的多级回归模型(Amelia、zelig、lme4)

r - 将集合操作从 R 的数据帧移植到数据表 : How to identify duplicated rows?

batch-file - 从 DOS 软件中提取旧数据

regex - 检查字符值是否是有效的 R 对象名称

r - 如何从R中的一列中提取部分ID特征

java - 如何使用java从PDF文件中读取两个单词之间的多行内容?

r - 如何使用 R 从网站中提取表格数据