这个话题可能已经被提出来了,我猜这是一个非常简单的解决方案。但是我到现在都做不到。假设我有一个 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
我想通过只为三个时间点(变量 T)中的每一个(变量 T)选择具有“是”(变量 Y)的个体来创建这个 data.frame 的子集(一个名为 data2 的新 data.frame),这意味着 Y = “是”对于 T=1 和 T=2 和 T=3。
我知道可以通过使用“&”符号来实现组合条件,这可以用于关联 3 个时间点的条件。但是,我的问题是为每个时间点编写每个条件:例如,如何告诉 R 我想要在 T="1" 时 Y="yes" 的主题?
非常感谢大家。祝你有美好的一天,
丹尼斯