我正在使用R工作数据框。我想知道是否有办法使用摘要函数制作摘要表。常规摘要函数为每个变量提供单独的摘要统计信息。我想得到一个汇总表,显示每个变量的统计数据,而不重复每个变量的min,max,median,....
我还可以得到非洲裔美国人和非美国人的工资摘要,并希望将两者的摘要结合到数据框中已有的其他变量的摘要中。有关如何完成此任务的任何建议?我可以使用Stata轻松完成这项工作,但是我在使用R时遇到了麻烦。
基本上,如何将所有三个摘要合并为一个漂亮的表格?感谢
nonblkwage <- subset(data, black == 0, select = c(wage))
blackwage <- subset(data, black == 1, select = c(wage))
summary(nonblkwage)
summary(blackwage)
summary(data[,c("wage","KWW","educ","exper","black","urban","lwage")])
这是摘要函数输出的示例
wage
Min. : 115.0
1st Qu.: 702.5
Median : 938.0
Mean : 990.6
3rd Qu.:1200.0
Max. :3078.0
输出看起来像这样(它们是假数字):
variable mean median min max obs std.dev.
wage 4 4 0 10 50 30
educ 8 3 8 39 50 20
exper 10 29 2 60 30 8
...
...
我想找到一种方法来做到这一点,方法是创建一个从sum函数中获取数据的函数,并将其转换为一个表或一个接收数据列的函数,计算相应的汇总统计量,然后将该信息放入一张桌子。
********解决方案更新**********
对于与我情况相同的人来说,还有一个更新。它可能不是最有效的方法,但它确实做到了。我使用以下代码来获得下表:
nonblkwage <- subset(data, black == 0, select = c(wage))
colnames(nonblkwage) <- c("nonblkwage")
blackwage <- subset(data, black == 1, select = c(wage))
colnames(blackwage) <- c("blackwage")
trimmed_basic_stat_table <- subset( basic_stat_table, select =
c(wage,KWW,educ,exper,black,urban,lwage ) )
trimmed_basic_stat_table2 <-
cbind(trimmed_basic_stat_table,basicStats(blackwage),basicStats(nonblkwage))
trimmed_basic_stat_table3 <- trimmed_basic_stat_table2[-c(2,5,6,9:13,15:16),]
final_summ_table <- round(trimmed_basic_stat_table3,4)
wage KWW educ exper black urban lwage
nobs 935.0000 935.0000 935.0000 935.0000 935.0000 935.0000 935.0000
Minimum 115.0000 12.0000 9.0000 1.0000 0.0000 0.0000 4.7449
Maximum 3078.0000 56.0000 18.0000 23.0000 1.0000 1.0000 8.0320
Mean 957.9455 35.7444 13.4684 11.5636 0.1283 0.7176 6.7790
Median 905.0000 37.0000 12.0000 11.0000 0.0000 1.0000 6.8079
Stdev 404.3608 7.6388 2.1967 4.3746 0.3346 0.4504 0.4211
blackwage nonblkwage
nobs 120.0000 815.0000
Minimum 260.0000 115.0000
Maximum 1874.0000 3078.0000
Mean 735.8417 990.6479
Median 683.5000 938.0000
Stdev 295.9309 408.0027