-1
下面的代碼應該由集團一年的數據,然後創建每年的第一個和最後一個值兩個新列。獲得第一和最後一個值組 - 與dplyr GROUP_BY最後的()和第()
library(dplyr)
set.seed(123)
d <- data.frame(
group = rep(1:3, each = 3),
year = rep(seq(2000,2002,1),3),
value = sample(1:9, r = T))
d %>%
group_by(group) %>%
mutate(
first = dplyr::first(value),
last = dplyr::last(value)
)
但是,它不能正常工作。預期的結果將是
group year value first last
<int> <dbl> <int> <int> <int>
1 1 2000 3 3 4
2 1 2001 8 3 4
3 1 2002 4 3 4
4 2 2000 8 8 1
5 2 2001 9 8 1
6 2 2002 1 8 1
7 3 2000 5 5 5
8 3 2001 9 5 5
9 3 2002 5 5 5
然而,我得到這個(它以第1,在整個數據幀中的最後一個值,而不僅僅是組):
group year value first last
<int> <dbl> <int> <int> <int>
1 1 2000 3 3 5
2 1 2001 8 3 5
3 1 2002 4 3 5
4 2 2000 8 3 5
5 2 2001 9 3 5
6 2 2002 1 3 5
7 3 2000 5 3 5
8 3 2001 9 3 5
9 3 2002 5 3 5
它的工作對我來說:我得到由組的第一個值和一個由組中的最後值的列。 – Jaap
你能顯示的版本'dplyr' – akrun
你想'summarize'而不是發生變異? –