R:使用管道将单个参数传递到函数中的多个位置
我试图专门使用管道重写以下代码(使用babynames包中的babynames数据):R:使用管道将单个参数传递到函数中的多个位置,r,piping,magrittr,R,Piping,Magrittr,我试图专门使用管道重写以下代码(使用babynames包中的babynames数据): library(babynames) library(dplyr) myDF <- babynames %>% group_by(year) %>% summarise(totalBirthsPerYear = sum(n)) slice(myDF, seq(1, nrow(myDF), by = 20)) library(babynames) 图书馆(dplyr) 多年筹资框架%
library(babynames)
library(dplyr)
myDF <- babynames %>%
group_by(year) %>%
summarise(totalBirthsPerYear = sum(n))
slice(myDF, seq(1, nrow(myDF), by = 20))
library(babynames)
图书馆(dplyr)
多年筹资框架%
组别(年份)%>%
总结(总出生人数=总和(n))
切片(myDF,序号(1,nrow(myDF),by=20))
我得到的最接近的代码是(不工作):
myDF%
组别(年份)%>%
总结(totalBirthsPerYear=总和(n))%>%
切片(XXX,序号(1,nrow(XXX),by=20))
其中XXX将通过管道传递到切片,但我被卡住了。非常感谢您的帮助。您可以在函数中的不同位置引用管道数据,方法是在您的情况下使用
:
myDF2 <- babynames %>%
group_by(year) %>%
summarize(totalBirthsPerYear = sum(n)) %>%
slice(seq(1, nrow(.), by = 20))
myDF2%
组别(年份)%>%
汇总(totalBirthsPerYear=sum(n))%>%
切片(序号(1,nrow(.),by=20))
不确定是否应将其作为单独的问题和答案打开,但如果有人像我一样来到这里,寻找标题中多个问题的答案:
R:使用管道将单个参数传递到函数中的多个位置
在多个地方使用Andrew答案中的
也可以实现这一点
[示例]要获取向量
vec的最后一个元素,最后一行应该是slice(seq(1,nrow(.),by=20))
。您不需要第一个XXX
,因为摘要
的输出已经自动输送到切片
。第二个XXX
被
取代,其中
是用于指输送到函数中的数据帧的“代词”。非常感谢!
myDF2 <- babynames %>%
group_by(year) %>%
summarize(totalBirthsPerYear = sum(n)) %>%
slice(seq(1, nrow(.), by = 20))
vec[length(vec)]
vec %>% .[length(.)]