我正在使用以下代码和数据来总结值:
bvsubcount.subset %>%
group_by(bv.parentbvid) %>%
summarise_each(funs(sum), c(`2003`:`2005`)) -> bvsubcount.subset
日期示例:
bvsubcount.subset <- setNames(data.frame(c("AT", "DE", "IT"), c("ID1", "ID1", "ID2"),1:3,5:7,3:5),
c("bv.sub.country.iso", "bv.parentbvid", 2003:2005))
到目前为止,这个工作正常,但是从最近我收到以下警告:
`summarise_each()` is deprecated.
Use `summarise_all()`, `summarise_at()` or `summarise_if()` instead.
To map `funs` over a selection of variables, use `summarise_at()`
但是,如果我使用summarise_at
,使用以下代码,我会收到错误错误:
bvsubcount.subset %>%
group_by(bv.parentbvid) %>%
summarise_at(funs(sum), c(`2003`:`2005`)) -> bvsubcount.subset
.vars` must be a character/numeric vector or a `vars()` object, not list
如何使用新的汇总函数来避免警告并仍然使用类似的代码结构?
答案 0 :(得分:3)
由于error
建议.vars
必须是变量名称的字符向量,所以你可以尝试这样的事情:
bvsubcount.subset %>%
+ group_by(bv.parentbvid) %>%
+ summarise_at(.vars = c("2003","2004","2005"),.funs = sum) ->
bvsubcount.subset
如果您不想明确提及每个数字列名称,请将c("2003","2004","2005")
替换为as.character(2003:2005)