是否可以参考'所有列'或rowwise()
中与dplyr
组合的一系列列,而无需枚举所有单个列名称?
例如,在下文中,我宁愿不指定前7个列名称中的每一个,而是说1:7
或其他。似乎无法让它发挥作用。必须遗漏一些简单的东西。
mtcars %>%
rowwise() %>%
mutate(sillyMetric = mean(c(mpg, cyl, disp, hp, drat, wt, qsec))) %>%
.$sillyMetric
请不要告诉我在这种情况下我不需要rowwise()
。我显然有一个不同的问题,我试图解决它需要它。我想知道是否有办法不用rowwise
枚举所有列名。 我想要更有效地计算上述sillyMetric
的任何其他解决方案。
答案 0 :(得分:2)
没有办法在行前排行。您可能需要退后一步,重新思考如何处理其余代码。能够基于行ID进行计算可能会产生丰硕成果。像这样:
mtcars %>%
mutate(id = 1:n()) %>%
gather(metric, val, 1:7) %>%
group_by(id) %>%
summarise(SillyMetric = mean(val))
最糟糕的是,您可以单独执行此操作,然后使用左连接将其加入。