首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hmisc表创建

Hmisc表创建
EN

Stack Overflow用户
提问于 2010-07-28 10:19:27
回答 2查看 1.8K关注 0票数 3

从R开始,在创建“汇总表”时,试着找出适合我的需求的方法。我习惯了在SPSS中自定义表,gmodels包中的CrossTable函数几乎可以让我到达需要的位置;更不用说对于刚开始使用R的人来说,导航很容易。

也就是说,Hmisc表似乎非常擅长创建各种摘要并导出到LaTex (最终我需要做的事情)。

我的问题是:1)你能在Hmsic页面中轻松地创建下面的表格吗? 2)如果可以,我可以交互变量(列中的2个)吗?最后,3)我是否可以访问显着性检验的p值(卡方)。

提前谢谢你,

布洛克

代码语言:javascript
复制
   Cell Contents
|-------------------------|
|                   Count |
|             Row Percent |
|          Column Percent |
|-------------------------|

Total Observations in Table:  524 

             | asq[, 23] 
    asq[, 4] |        1  |        2  |        3  |        4  |        5  | Row Total | 
-------------|-----------|-----------|-----------|-----------|-----------|-----------|
           0 |       76  |       54  |       93  |       46  |       54  |      323  | 
             |   23.529% |   16.718% |   28.793% |   14.241% |   16.718% |   61.641% | 
             |   54.286% |   56.250% |   63.265% |   63.889% |   78.261% |           | 
-------------|-----------|-----------|-----------|-----------|-----------|-----------|
           1 |       64  |       42  |       54  |       26  |       15  |      201  | 
             |   31.841% |   20.896% |   26.866% |   12.935% |    7.463% |   38.359% | 
             |   45.714% |   43.750% |   36.735% |   36.111% |   21.739% |           | 
-------------|-----------|-----------|-----------|-----------|-----------|-----------|
Column Total |      140  |       96  |      147  |       72  |       69  |      524  | 
             |   26.718% |   18.321% |   28.053% |   13.740% |   13.168% |           | 
-------------|-----------|-----------|-----------|-----------|-----------|-----------|
EN

回答 2

Stack Overflow用户

发布于 2012-03-04 12:16:47

gmodels包有一个名为CrossTable的函数,对于那些习惯于使用SPSS和SAS输出的人来说,这个函数非常好用。试一下这个例子:

代码语言:javascript
复制
library(gmodels)  # run install.packages("gmodels") if you haven't installed the package yet
x <- sample(c("up", "down"), 100, replace = TRUE)
y <- sample(c("left", "right"), 100, replace = TRUE)
CrossTable(x, y, format = "SPSS")

这将为您提供一个非常符合SPSS-y的输出,就像您在问题中显示的输出一样。:)

票数 4
EN

Stack Overflow用户

发布于 2010-07-28 12:51:35

如果你来自SPSS,你可能会对package Deducer ( http://www.deducer.org )感兴趣。它有一个偶然表函数:

代码语言:javascript
复制
> library(Deducer)
> data(tips)
> tables<-contingency.tables(
+ row.vars=d(smoker),
+ col.vars=d(day),data=tips)
> tables<-add.chi.squared(tables)
> print(tables,prop.r=T,prop.c=T,prop.t=F)
================================================================================================================

               ==================================================================================               
                                   ========== Table: smoker by day ==========                                   
                       | day 
                smoker |      Fri  |      Sat  |      Sun  |     Thur  | Row Total | 
-----------------------|-----------|-----------|-----------|-----------|-----------|
          No  Count    |        4  |       45  |       57  |       45  |      151  | 
              Row %    |    2.649% |   29.801% |   37.748% |   29.801% |   61.885% | 
              Column % |   21.053% |   51.724% |   75.000% |   72.581% |           | 
-----------------------|-----------|-----------|-----------|-----------|-----------|
         Yes  Count    |       15  |       42  |       19  |       17  |       93  | 
              Row %    |   16.129% |   45.161% |   20.430% |   18.280% |   38.115% | 
              Column % |   78.947% |   48.276% |   25.000% |   27.419% |           | 
-----------------------|-----------|-----------|-----------|-----------|-----------|
          Column Total |       19  |       87  |       76  |       62  |      244  | 
              Column % |    7.787% |   35.656% |   31.148% |   25.410% |           | 



            Large Sample                                                       
       Test Statistic    DF p-value | Effect Size est.  Lower (%)   Upper (%)  
Chi Squared 25.787       3  <0.001  | Cramer's V  0.325 0.183 (2.5) 0.44 (97.5)
-----------





================================================================================================================

您可以使用xtable包获取计数并测试latex或html:

代码语言:javascript
复制
> library(xtable)
> xtable(drop(extract.counts(tables)[[1]]))
> test <- contin.tests.to.table((tables[[1]]$tests))
> xtable(test)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3349436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档