微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

r 中的汇总统计信息,作为标题的度量

如何解决r 中的汇总统计信息,作为标题的度量

我想为我的数据集创建汇总统计。我试过搜索,但没有找到任何符合我想要的东西。我希望以统计度量作为标题垂直列出列。这是我想要的样子:

平均值 标准差 25%。 中位数 75%。
第 1 列 平均第 1 列 标准列 1 ... ... ...
第 2 列 平均值第 2 列 ... ... ... ...
... ... ... ... ...

我该怎么做?感谢我能得到的任何帮助!:) 如果有一个特定的功能可以使用,我也可以在其中进行一些格式化/样式设置,也将不胜感激,但重点是它应该看起来像描述的那样。 :)

解决方法

您可能想查看 summarytools 包...具有对 markdown 和 html 的内置支持。

library(summarytools)  
descr(iris,stats = c("mean","sd","q1","med","q3"),transpose = TRUE)

## Non-numerical variable(s) ignored: Species
## Descriptive Statistics  
## iris  
## N: 150  
##
##                     Mean   Std.Dev     Q1   Median     Q3
## ----------------- ------ --------- ------ -------- ------
##      Petal.Length   3.76      1.77   1.60     4.35   5.10
##       Petal.Width   1.20      0.76   0.30     1.30   1.80
##      Sepal.Length   5.84      0.83   5.10     5.80   6.40
##       Sepal.Width   3.06      0.44   2.80     3.00   3.30
,

你的问题缺少一些重要的功能,但我认为你想要这样的东西:

仅使用 iris 数据集的数值变量的示例:

iris_numerical<-iris[,1:4]

计算统计数据

new_df<-sapply(iris_numerical,function(x){c(mean=mean(x),SD=sd(x),Q1=quantile(x,0.25),median=median(x),Q3=quantile(x,0.75))})

这为您提供了按列汇总的统计数据

> new_df
       Sepal.Length Sepal.Width Petal.Length Petal.Width
mean      5.8433333   3.0573333     3.758000   1.1993333
SD        0.8280661   0.4358663     1.765298   0.7622377
Q1.25%    5.1000000   2.8000000     1.600000   0.3000000
median    5.8000000   3.0000000     4.350000   1.3000000
Q3.75%    6.4000000   3.3000000     5.100000   1.8000000

然后以所需格式创建最终数据框,以列名作为行名:

new_df<-data.frame(column=colnames(new_df),apply(new_df,1,function(x) x))
> new_df
                   column     mean        SD Q1.25. median Q3.75.
Sepal.Length Sepal.Length 5.843333 0.8280661    5.1   5.80    6.4
Sepal.Width   Sepal.Width 3.057333 0.4358663    2.8   3.00    3.3
Petal.Length Petal.Length 3.758000 1.7652982    1.6   4.35    5.1
Petal.Width   Petal.Width 1.199333 0.7622377    0.3   1.30    1.8
,

我们可以使用 descr 中的 collapse

library(collapse)
descr(iris)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。