2010-07-28 4 views
3

R과 함께 시작하여 "요약 테이블"을 만들 때 내 필요에 맞는 것이 무엇인지 알아 내려고합니다. 나는 SPSS의 커스텀 테이블에 익숙하다. gmodels 패키지의 CrossTable 함수는 내가 필요로하는 거의 모든 것을 얻을 수있다. 말할 것도없이 R에서 시작하는 사람을 쉽게 탐색 할 수 있습니다.Hmisc 테이블 생성

그런데 Hmisc 테이블은 다양한 요약을 만들고 LaTex로 내보내는 것이 좋습니다 (궁극적으로 내가해야 할 일).

내 질문 사항은 다음과 같습니다. 1) Hmsic 페이지에서 아래의 표를 쉽게 만들 수 있습니까? 2) 그렇다면 변수 (2 열)를 상호 작용할 수 있습니까? 그리고 마지막으로 3) 나는 유의도 테스트 (카이 제곱)의 p- 값에 접근 할 수 있습니다. 사전에

감사합니다,

브록

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% |   | 
-------------|-----------|-----------|-----------|-----------|-----------|-----------| 

답변

3

는 SPSS에서 오는 경우, 패키지 Deducer (http://www.deducer.org)에 관심이있을 수 있습니다.

> 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 패키지를 사용하여 수와 라텍스 시험 또는 HTML을 얻을 수 있습니다

가 :

> library(xtable) 
> xtable(drop(extract.counts(tables)[[1]])) 
> test <- contin.tests.to.table((tables[[1]]$tests)) 
> xtable(test) 
+0

위대한입니다 -이 패키지에 대해 몰랐습니다. 정말 변수 (열과 행 모두)를 상호 작용할 수있는 사용자 정의 테이블을 모방하고 여러 변수가있는 테이블을 작성하고 보고서를 작성하는 가장 좋은 방법을 알아내는 데 관심이 있습니다 - LaTeX처럼 보입니다 – Btibert3

4

gmodels 패키지는 아주 좋은 CrossTable라는 기능입니다있다 그것은 비상 테이블 기능을 가지고있다 SPSS 및 SAS 출력에 익숙한 사용자에게 적합합니다. 이 예를 시도해보십시오.

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와 같은 결과물을 얻을 수 있습니다. :)

+0

'CrossTable (x, y, format = "SPSS")'? – Stedy

+0

@Stedy, 네가 맞다고 생각해. 나는 그때 내가 무엇을 생각하고 있었는지 확신하지 못한다. 팁 주셔서 감사합니다, 그에 따라 답변을 수정합니다. –