【发布时间】:2021-12-08 01:44:38
【问题描述】:
我对 R 中的数据清理有一个非常具体的问题,但我不确定我应该如何实现这一点。基本上,您可以在下面找到示例数据框。
test <- data.frame(personID = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L),
sequenceTrip = c(1, 1, 2, 2, 3, 3, 4, 4), departureHour = c(9L,
9L, 13L, 13L, 14L, 14L, 16L, 16L), departureMinute = c(34L,
34L, 34L, 34L, 35L, 35L, 19L, 19L), tripRangeTypeOrigin = c(0,
0, 1, 1, 0, 0, 1, 1), arrivalHour = c(10, 10, 14, 14, 15,
15, 18, 18), arrivalMinute = c(34, 34, 34, 34, 49, 49, 4,
4), tripRangeTypeDestin = c(1, 1, 0, 0, 1, 1, 0, 0), tripPurpose = c("leisure",
"leisure", "return home", "return home", "shopping", "shopping",
"return home", "return home"), mode = c("car", "car", "car",
"car", "car", "car", "car", "car"), tripDistance = c(77,
77, 77, 77, 100, 100, 115, 115), typicalDurationNextActivity = c(10800,
10800, 60, 60, 1800, 1800, 24960, 24960), arrivalTimeInMInute = c(NA,
NA, NA, NA, NA, NA, 1084, 1084), originDestinType = c(0,
1, 0, 1, 0, 1, 0, 1), tripNB = c("MUTSAARD", "Outside Brussels",
"Outside Brussels", "HEYSEL", "HEYSEL", "Outside Brussels",
"Outside Brussels", "CHAUSSEE DE WAVRE - SAINT-JULIEN "))
我想要实现的是保留此数据帧的第一、第二、倒数第二行(在本例中为第 7 行)和最后一行(在本例中为第 8 行),同时,对于行 3:6,我想过滤找出originDestinType == 1 的行。所以最终的数据框总共是 6 行。我知道这可以通过像rbind 这样的命令来实现,但是,我想知道是否有更简单的方法可以使用像dplyr 这样的包来实现这一目标?
非常感谢您的帮助!
【问题讨论】: