【发布时间】:2021-09-09 08:43:40
【问题描述】:
我有一个数据框,其中包含对某些人的重复测量,data.frame 看起来像这样
# A tibble: 853 x 5
ID Test N_ind Pheno Week
<chr> <chr> <int> <dbl> <int>
1 02A01 Int 96 0 12
2 02A01 Int 96 0 24
3 02A01 Int 94 0 36
4 02A01 Int 90 0 48
7 02A01 Int 78 1 84
9 02A03 Int 96 0 12
10 02A03 Int 96 0 24
11 02A03 Int 94 0 36
19 02C03 Int 96 1 12
20 0202C03 Int 96 0 24
21 0202C03 Int 94 0 36
22 0202C03 Int 90 0 48
23 02E02 Int 96 0 12
24 02E02 Int 96 0 24
25 02E02 Int 94 1 36
26 02E02 Int 90 1 48
我想对 data.frame 进行子集化,首先按ID 分组,然后在组中选择Pheno 列中1 具有最低Week 值的那些人,但对于那些具有0 在Pheno 列中的Week 中的最大值。
最佳结果应如下所示:
ID Test N_ind Pheno Week
<chr> <chr> <int> <dbl> <int>
7 02A01 Int 78 1 84
11 02A03 Int 94 0 36
19 02C03 Int 96 1 12
22 0202C03 Int 90 0 48
25 02E02 Int 94 1 36
我已经设法为1 值做到这一点,但我被困在如何为0 值做到这一点。
这是我的代码:
df_sub <- data %>%
group_by(ID) %>%
arrange(Week, .by_group = TRUE) %>%
ungroup()
任何帮助将不胜感激
【问题讨论】: