我已通过以下代码以骇人的方式完成了此任务
library(dplyr)
mtcars %>%
select(cyl, mpg) %>%
group_by(cyl) %>%
slice(1:3) %>%
arrange(cyl, mpg) %>%
mutate(mpg = ifelse( seq_along(mpg) == 1, 0, mpg ))
但是我觉得有一个更好的方法。
答案 0 :(得分:1)
如果我们可以用head/sort
包装,则可以用更少的步骤来完成。按'cyl'分组后,用head
,'sort
获取'mpg'的前3个元素,删除第一个元素([-1]
),连接(c
)设为0,则将其包装在list
内的summarise
中,然后将unnest
的{{1}}
list