2017-02-03 3 views
0

私は、Rのカテゴリ変数によってグループ化された要約統計表を、スタルマジャーパッケージで作成する方法を数時間探してきました。stargazerを使用して2つのグループを持つ要約統計テーブルを作成するにはどうすればよいですか?

基本的には、2つのグループ(コントロール&治療)の手段を隣り合わせに表示し、さらに両方のグループの違いを計算したいと考えています。

私は、スターゲイザーでテーブルを作成しようとするたびに、それぞれのカテゴリ変数のテーブルをお互いに作成します。

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

私は、どのstargazerを実行しているのかわかりませんが、 '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

ありがとう、ジェイミー!あなたの答えは本当に私を助けました。 – Kaizen502

関連する問題