Без воспроизводимых данных трудно определить, что именно вам нужно. Но из поста кажется, что вы просто пытаетесь выяснить, как отфильтровать фрейм данных при определенных условиях. Это можно сделать с помощью поднабора.
Предположим, у вас есть кадр данных по следующим строкам:
set.seed(23)
df <- data.frame(
patient = c("A", "A", "B", "C", "A", "B", "A", "C", "A", "B"),
readings = c(sample(1:5, 10, replace = T)),
other_var = c(sample(10))
)
df
patient readings other_var
1 A 5 8
2 A 4 4
3 B 3 3
4 C 1 6
5 A 3 7
6 B 5 5
7 A 2 2
8 C 1 9
9 A 5 1
10 B 1 10
И давайте предположим, что вы хотите исключить тех пациентов, у которых менее 3 показаний. Затем вы можете использовать оператор отрицания !
и подмножество df
для переменной, по которой вы хотите фильтровать:
df_filtered <- df[!df$readings < 3, ]
df_filtered
patient readings other_var
1 A 5 8
2 A 4 4
3 B 3 3
5 A 3 7
6 B 5 5
9 A 5 1