我正在处理包含三个变量(即id,时间,性别)的数据。它看起来像这样:
也就是说,每个id都有关于时间和性别的4个观察值。我想在R中根据变量time的行求和来对这些数据进行子集操作,首先对于每个id找到第一个大于等于25的值。注意,对于id 2,所有观察值都将被包含在内,而对于id 3,只涉及第一个观察值。期望的结果如下:
任何相关的帮助都将不胜感激。
df <-
structure(
list(
id = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L),
time = c(21L, 3L, 4L, 9L, 5L, 9L, 10L, 6L, 27L, 3L, 4L, 10L),
gender = c(1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L)
),
.Names = c("id", "time", "gender"),
class = "data.frame",
row.names = c(NA,-12L)
)
也就是说,每个id都有关于时间和性别的4个观察值。我想在R中根据变量time的行求和来对这些数据进行子集操作,首先对于每个id找到第一个大于等于25的值。注意,对于id 2,所有观察值都将被包含在内,而对于id 3,只涉及第一个观察值。期望的结果如下:
df <-
structure(
list(
id = c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L ),
time = c(21L, 3L, 4L, 5L, 9L, 10L, 6L, 27L ),
gender = c(1L, 1L, 1L, 0L, 0L, 0L, 0L, 1L)
),
.Names = c("id", "time", "gender"),
class = "data.frame",
row.names = c(NA,-8L)
)
任何相关的帮助都将不胜感激。