我在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版本0.5.0)
答案 0 :(得分:2)
仔细查看“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