我想检索每组的“倒数第二个”数据。目前,代码如下,使用“group_modify”两次。有没有可用的功能?(如何简单地使用当前代码)?谢谢!
所希望的结果在附图中的红色矩形中。
library(dplyr)
test_data <- data.frame(category=c("a","a","c","a","b","c","a","b","c"),
value=c(1.72,0.32,0.22,1.29,-0.49,0.61,1.24,0.58,0.26))
test_data %>% arrange(category ) %>%
group_by(category) %>%
group_modify(~tail(.x,2)) %>%
group_modify(~head(.x,1))
Run Code Online (Sandbox Code Playgroud)
我们可以使用nth(value, -2),它给出每组的倒数第二个:
library(dplyr)
test_data %>%
arrange(category ) %>%
group_by(category) %>%
summarise(value1 = nth(value, -2))
Run Code Online (Sandbox Code Playgroud)
category value1
<chr> <dbl>
1 a 1.29
2 b -0.49
3 c 0.61
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
547 次 |
| 最近记录: |