Эта тема, вероятно, поднималась, и я думаю, что это довольно простое решение. Однако я не мог сделать это до сих пор. Допустим, у меня есть data.frame (называемый «данные»), который содержит 10 человек (id), на которых я собирал наблюдения в 3 момента времени (T)
> data <- data.frame(id = rep(c(1:10), 3),
T = gl(3, 10),
X = sample(1:30),
Y = sample(c("yes", "no"), 30, replace = TRUE),
Z = sample(1:40, 30),
Z2 = rnorm(30, mean = 5, sd = 0.5))
> head(data)
id T X Y Z Z2
1 1 1 10 yes 15 5.993605
2 2 1 18 no 22 6.096566
3 3 1 5 no 24 5.101393
4 4 1 15 yes 18 4.944108
5 5 1 23 no 34 4.634176
6 6 1 13 no 27 5.576015
Я хотел бы создать подмножество этого data.frame (новый data.frame с именем data2), выбрав только людей, у которых есть «да» (переменная Y) для каждой из трех точек времени (переменная T), что означает Y = "да" для Т=1 и Т=2 и Т=3.
Я знаю, что комбинирование условий может быть достигнуто с помощью знака «&», и его можно использовать для связывания условий для трех моментов времени. Однако моя проблема состоит в том, чтобы написать каждое условие для каждой временной точки: как сказать R, что мне нужны темы, для которых, например, Y = "да" в T = "1"?
Заранее всем большое спасибо. Хорошего дня,
Денис