使用dplyr重复组内的第一次观察

时间:2016-01-10 01:58:18

标签: r dplyr

我正在尝试在该组的所有行中重复组中的第一个值。我以为他会这样做:

library(dplyr)
data.frame(g=c(1,1,2,2), v=c(1,2,3,4)) %>%
    group_by(g) %>% 
    mutate(f=first(v))
# Source: local data frame [4 x 3]
# Groups: g [2]
#
#       g     v     f
#   (dbl) (dbl) (dbl)
# 1     1     1     1
# 2     1     2     1
# 3     2     3     1
# 4     2     4     1

但我不明白为什么f不会返回为1,1,3,3。

1 个答案:

答案 0 :(得分:1)

这应该有效

data.frame(g=c(1,1,2,2), v=c(1,2,3,4)) %>%
    group_by(g) %>%
    mutate(f = dplyr::first(v))

您可能正在从其他包中挑选first。它确实存在于xts包中,可能存在于其他包中。