【发布时间】:2018-06-20 10:01:26
【问题描述】:
假设我有以下数据集:
library(dplyr)
name <- c("b", "a", "a", "b","b","a", "b", "c", "c", "c", "c", "a")
class <- c(0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1)
date <- c("10-06-2018", "11-06-2018", "12-06-2018", "13-06-2018", "14-06-2018", "15-06-2018", "16-06-2018","17-06-2018", "18-06-2018", "19-06-2018", "20-06-2018", "21-06-2018")
dates <- as.Date(date, "%d/%m/%Y")
df <- data.frame(name, class, date)
df <- df %>%
group_by(name) %>%
arrange(date) %>%
ungroup() %>%
arrange(name)
我想过滤数据集,以便对于每个名称组,我都有第 0 类的最短日期和第 0 类之后的第 1 类的最短日期。在这种情况下,我会:
df.new <- df[c(2,3,5,6,9,11), ]
【问题讨论】:
-
你应该使用
dates <- as.Date(date, "%d-%m-%Y"),否则它将不起作用。 -
除了@Jaap 提到的,您需要将
dates分配给数据框,而不是date