【发布时间】:2019-07-26 15:39:15
【问题描述】:
我希望将多个列除以另一个指定的列。代码的唯一相关部分发布在下面。
summarize_at(vars(starts_with('total')),list(~./count_short))
错误:“total_age”的长度必须为 1,而不是集合的长度。
【问题讨论】:
我希望将多个列除以另一个指定的列。代码的唯一相关部分发布在下面。
summarize_at(vars(starts_with('total')),list(~./count_short))
错误:“total_age”的长度必须为 1,而不是集合的长度。
【问题讨论】:
问题是summarise/summarise_at 返回的长度为 1,但是当我们除以整列时,它的长度为 n()。因此,不要使用summarise_at,而是使用mutate_at 来修改列
...
%>%
mutate_at(vars(starts_with('total')),list(~./count_short))
或者如果需要的话。创建新列,在 list 换行之后指定一个名称,该名称将以现有列作为后缀以创建新列
... %>%
mutate_at(vars(starts_with('total')),list(value = ~./count_short))
【讨论】: