【发布时间】:2022-03-04 19:21:29
【问题描述】:
使用 R,我想为纵向数据选择相同 ID 中的最后一行。但是,当时间列中的值相同时(例如,ID 1 的值 5 和 ID 3 的值 4)对于最后一行(ID 1 为 2 行),我想在相同的 ID 中保留 2-3 行ID 3 为 3 行)。如果相同 ID 中时间列中的值不同,我只想保留最后一行(例如,ID 2 的值为 7)。
我的数据框如下:
id time dx code
1 1 primary A1
1 5 primary D2
1 5 secondary B3
2 1 primary A2
2 7 primary C4
3 4 primary A1
3 4 secondary B3
3 4 tertiary D2
我想要以下结果:
id time dx code
1 5 primary D2
1 5 secondary B3
2 7 primary C4
3 4 primary A1
3 4 secondary B3
3 4 tertiary D2
当我使用以下 R 脚本 d %>% group_by(id) %>% filter(row_number() == n()) 时,它们只保留了每个 ID 中的最后一行。任何帮助,将不胜感激!
【问题讨论】:
标签: r if-statement select longitudinal