R-dplyr摘要的转换输出格式

R-dplyr摘要的转换输出格式,r,format,output,dplyr,R,Format,Output,Dplyr,我非常感谢使用dyplr 生成汇总统计数据 然而,我并不完全相信输出的“格式” 例如: mt = mtcars %>% group_by(gear, vs) %>% summarise(mean (disp) ) gear Mean Vs = 1 Mean Vs = 0 3 201.0333 357.6167 4 115.6200 160.0000 5 95.1000 229.3250 将产生 gea

我非常感谢使用
dyplr
生成汇总统计数据

然而,我并不完全相信输出的“格式”

例如:

mt = mtcars %>% 
 group_by(gear, vs) %>% 
 summarise(mean (disp) ) 
  gear Mean Vs = 1 Mean Vs = 0
    3    201.0333    357.6167
    4    115.6200    160.0000
    5     95.1000    229.3250
将产生

  gear vs mean(disp)
1    3  0   357.6167
2    3  1   201.0333
3    4  0   160.0000
4    4  1   115.6200
5    5  0   229.3250
6    5  1    95.1000
对于我的科学报告,我更喜欢这样显示输出(无论此
mtcars
示例的统计意义如何):


您知道是否可以“控制”dplyr摘要的输出格式吗

我认为
dcast
软件包的
restrape2
功能对您很有用

library(reshape2)
dcast(mt, gear ~ vs)
Using mean(disp) as value column: use value.var to override.
  gear        0        1
1    3 357.6167 201.0333
2    4 160.0000 115.6200
3    5 229.3250  95.1000

我认为
restrape2
软件包的
dcast
功能对您很有用

library(reshape2)
dcast(mt, gear ~ vs)
Using mean(disp) as value column: use value.var to override.
  gear        0        1
1    3 357.6167 201.0333
2    4 160.0000 115.6200
3    5 229.3250  95.1000

您可以使用
tidyr
中的
spread
扩展管道。请注意,我为平均值指定了一个名称,这样它就可以在
排列
调用中简单引用

library(dplyr)
library(tidyr)

mtcars %>% 
    group_by(gear, vs) %>% 
    summarise(mean_disp = mean (disp) ) %>%
    spread(vs, mean_disp)

Source: local data frame [3 x 3]

  gear        0        1
1    3 357.6167 201.0333
2    4 160.0000 115.6200
3    5 229.3250  95.1000

您可以使用
tidyr
中的
spread
扩展管道。请注意,我为平均值指定了一个名称,这样它就可以在
排列
调用中简单引用

library(dplyr)
library(tidyr)

mtcars %>% 
    group_by(gear, vs) %>% 
    summarise(mean_disp = mean (disp) ) %>%
    spread(vs, mean_disp)

Source: local data frame [3 x 3]

  gear        0        1
1    3 357.6167 201.0333
2    4 160.0000 115.6200
3    5 229.3250  95.1000

您不需要使用OPs新转换的数据集,只需
dcast(mtcars,gear~vs,value.var=“disp”,mean)就可以使用
mtcars
获得所需的结果。
您不需要使用OPs新转换的数据集,只需
dcast就可以使用
mtcars
获得所需的结果(mtcars,档位~vs,value.var=“disp”,平均值)