2017-02-03 3 views
0

나는 스타 가마 패키지와 함께 R의 범주 형 변수로 그룹화 된 요약 통계 테이블을 만드는 방법에 대해 몇 시간 동안 조사 해왔다.stargazer를 사용하여 두 그룹으로 요약 통계 테이블을 만드는 방법은 무엇입니까?

기본적으로 두 그룹 (제어 & 치료)에 대한 수단을 나란히 표시하고 두 그룹 간의 차이점을 추가로 계산하고 싶습니다.

실마리가있는 표를 만들려고 할 때마다 각 범주 형 변수마다 두 표가 만들어집니다.

mtcars 데이터 세트가있는 샘플을 생성했습니다.

: 예상대로이 작동하지 않았기 때문에, 난 그냥 aa는 HTML 테이블을 얻기 위해 수동으로 요약 테이블을 생성하고 FALSE 내부 몽 상가에 대한 요약을 지정

attach(mtcars) 
library(dplyr) 
data = mtcars 

auto1 = data %>% 
    filter(am == 1) %>% 
    dplyr::select(mpg,disp,hp) 

manu1 = data %>% 
    filter(am == 0) %>% 
    dplyr::select(mpg,disp,hp) 

stargazer(auto1,manu1, type = "html", out = "summary.html",summary.stat = c("mean"), summary = TRUE)` 

: 변수 '오전'가정 범주 형 변수

auto = data %>% 
    filter(am == 1) %>% 
    summarize_each(funs(mean)) %>% 
    melt(id.vars="am") 

manu = data %>% 
    filter(am == 0) %>% 
    summarize_each(funs(mean)) %>% 
    melt(id.vars = "am") 

end = dplyr::select(data.frame(auto,manu),-c(am,am.1,variable.1)) 
end$diff = end$value.1 - end$value 
names(end) = c("Variable","Automatic","Manual","Difference")   

stargazer(end, type = "html", out = "summary.html",summary.stat = c("mean"), summary = FALSE) 

이것은 아마도 원하는 요약 통계 테이블을 만드는 데 실제로 깔끔한 방법은 아니지만 나 자신을 더 잘 이해할 수는 없습니다. 어떤 방법으로 실무 그룹이나 다른 패키지에서 작동 할 수 있습니까?

+0

실습가는 무엇인지 모르지만'dlpyr' 만 사용하여 요약표를 만들 수 있습니다. 그럴 거니? – thepule

답변

1

원하는 출력이 무엇인지 확실하지 않지만 도움이 되나요?

mtcars %>% 
    group_by(am) %>% 
    summarise(mpg = mean(mpg), disp = mean(disp), hp = mean(hp)) %>% 
    gather(key = "variable","value",mpg,disp,hp) %>% 
    spread(am,value) %>% 
    group_by(variable) %>% 
    mutate(difference = `1`-`0`) 

## Source: local data frame [3 x 4] 
## Groups: variable [3] 
## 
## variable  `0`  `1` difference 
##  <chr>  <dbl>  <dbl>  <dbl> 
## 1  disp 290.37895 143.53077 -146.848178 
## 2  hp 160.26316 126.84615 -33.417004 
## 3  mpg 17.14737 24.39231 7.244939 
+0

감사합니다. Jamie! 당신의 대답은 정말 많은 도움이되었습니다. – Kaizen502