假设有人在 dplyr
中操作数据帧,并且想要将一个数据汇总到一个表中,每个十进制都有一列 . 撇开为什么会这样做的问题,仍然存在如何做的问题 .
一直是noted before, summarize
不喜欢矢量值函数 . 正如那篇文章所提到的,最有文字意识的方法就是为每个十分位创建一个显式列:
df <- data.frame(value=rnorm(1000)) %>%
summarize(`0.1` = quantile(value, 0.1),
`0.2` = quantile(value, 0.2),
`0.3` = quantile(value, 0.3),
...)
显然,这很卑鄙 . 然而,对于我来说,如何使用链接问题中提到的 ddply
或 do
来实现这一目标并不是显而易见的 . 它只是觉得应该有一种方法来做到这一点,顺序如下:
df <- data.frame(value=rnorm(1000)) %>%
summarize(quantiles = quantile(value, seq(0.1, 0.9, 0.1))) %>%
expand_vector_to_columns()
在那儿?
1 回答
这可能会这样做: