Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 修改摘要输出_R - Fatal编程技术网

R 修改摘要输出

R 修改摘要输出,r,R,我想修改summary函数(base r)返回的摘要输出: 这显示了标准汇总统计: am gear carb Min. :0.0000 Min. :3.000 Min. :1.000 1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000 Median :0.0000 Median :4.000 Median :2.000 Mean :0.4

我想修改summary函数(base r)返回的摘要输出:

这显示了标准汇总统计:

   am              gear            carb      
 Min.   :0.0000   Min.   :3.000   Min.   :1.000  
 1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
 Median :0.0000   Median :4.000   Median :2.000  
 Mean   :0.4062   Mean   :3.688   Mean   :2.812  
 3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
 Max.   :1.0000   Max.   :5.000   Max.   :8.000

我可以通过删除中位数并添加count和stdev来修改此输出吗?谢谢。

使用
sapply
做一个DIY总结

sapply(mtcars[c("am", "gear", "carb")], function(x)
  c(min=min(x), quantile(x, c(.25, .75)), max=max(x), count=length(x), sd=sd(x)))
#               am       gear    carb
# min    0.0000000  3.0000000  1.0000
# 25%    0.0000000  3.0000000  2.0000
# 75%    1.0000000  4.0000000  4.0000
# max    1.0000000  5.0000000  8.0000
# count 32.0000000 32.0000000 32.0000
# sd     0.4989909  0.7378041  1.6152
或者,您可以使用
lappy
通过
round
ing等自定义列

do.call(rbind, lapply(mtcars[c("am", "gear", "carb")], function(x)
  data.frame(min=min(x), q1=quantile(x, .25), q3=quantile(x, .75), max=max(x), 
             count=length(x), sd=round(sd(x), 3))))
#      min q1 q3 max count    sd
# am     0  0  1   1    32 0.499
# gear   3  3  4   5    32 0.738
# carb   1  2  4   8    32 1.615

如何单独控制计数的小数?@user7256821,因为结果是一个矩阵,只有通过将
四舍五入(…,4)
整体包装才能全局实现。我可以问一下您需要计数作为整数的目的是什么吗?我正在ggplot2输出上使用此摘要统计数据,它将使用gridExtra包以可视表格的形式显示摘要。@user7256821 Try
do.call(rbind,lappy(mtcars[c(“am”,“gear”,“carb”)],function(x)data.frame(min=min(x),q1=quantile(x,.25),q3=quantile(x,.75),max=max(x),count=length(x),sd=sd(x))
,这将使您以整数计算。@用户7256821只需自定义最后一条注释的代码,例如
sd=round(sd(x),3)
do.call(rbind, lapply(mtcars[c("am", "gear", "carb")], function(x)
  data.frame(min=min(x), q1=quantile(x, .25), q3=quantile(x, .75), max=max(x), 
             count=length(x), sd=round(sd(x), 3))))
#      min q1 q3 max count    sd
# am     0  0  1   1    32 0.499
# gear   3  3  4   5    32 0.738
# carb   1  2  4   8    32 1.615