我在dplyr中的rep函数有一些问题,例如像这样的代码工作得很好
d <- data.frame(x=1:10,y=1:2) %>%
group_by(y) %>%
summarize(rep.sum =sum(rep(x,y)))
但是如果我像这样运行
d <- data.frame(x=1:10,y=1:2) %>%
group_by(y) %>%
summarize(rep.sum =sum(rep(1,y)))
我得到错误
Error: invalid 'times' argument
我做错了什么?
(dplyr version 0.5.0)
仔细查看'rep'的帮助页面。times向量必须与第一个参数长度相同,或者长度为1:
> rep(1, 2)
[1] 1 1
> rep(1, c(2,2))
Error in rep(1, c(2, 2)) : invalid 'times' argument
> rep(1:3,2)
[1] 1 2 3 1 2 3