【发布时间】:2017-10-08 11:02:53
【问题描述】:
我正在尝试专门使用管道来重写以下代码(使用 babynames 包中的 babynames 数据:
library(babynames)
library(dplyr)
myDF <- babynames %>%
group_by(year) %>%
summarise(totalBirthsPerYear = sum(n))
slice(myDF, seq(1, nrow(myDF), by = 20))
我得到的最接近的是这段代码(不工作):
myDF <- babyNames %>%
group_by(year) %>%
summarise(totalBirthsPerYear = sum(n)) %>%
slice( XXX, seq(1, nrow(XXX), by = 20))
其中 XXX 应该通过管道传递给切片,但我被卡住了。任何帮助表示赞赏。
【问题讨论】:
-
最后一行应该是
slice(seq(1, nrow(.), by = 20))。您不需要第一个XXX,因为summarise的输出已经自动通过管道传输到slice。第二个XXX被.替换,其中.是“代词”,用于指代通过管道传输到函数中的数据帧。 -
壮观,非常感谢!