2016-07-29 6 views
0

マイデータを要約すると次のようになります。ソート出力は::

head(sassign %>% select(child,youth,cook,do_it)) 
    child youth cook do_it 
1  3  2 2  0 
2  0  1 0  1 
3  0  0 2  0 
4  0  0 0  0 
5  0  0 1  0 
6  0  1 0  0 

私の目標は、人の合計#を見つけることです(sassignがデータを保持しているdata.frameです)子供の本、青少年の本、料理の本、ドールの本を買った人。

ので、ここで私がやったことだ:

sassign %>% summarise(sumchild=sum(child),sumyouth=sum(youth),sumcook=sum(cook),sumdo_it=sum(do_it)) 

ここで私が得た出力です:

sumchild sumyouth sumcook sumdo_it 
1 42723 19549 46830 23153 

質問1 ::これが私の目的を解決するが、そこでは、とにかく、私は並べ替えを取得することができます列ごとの出力?ここで私はのStataから得たものです:あなたが上見ることができるように

-------------------------------------------------------------- 
    | Total Std. Err. [95% Conf. Interval] 
    -------------+------------------------------------------------ 
    cook | 46830 265.0706 46310.46 47349.54 
    child | 42723 250.4739 42232.07 43213.93 
    do_it | 23153 171.2552 22817.34 23488.66 
    youth | 19549 152.7226 19249.66 19848.34 

、STATA出力は、上から下にうまくソートされます。

質問2:とにかくSTATAが示すようにSDとCIを含めることはできますか?

質問3:とにかく、Rでの合計の代わりにSD、またはCIで並べ替えることはできますか?私は関数を記述してみましたが、私は確信していませんでしたので、私はここでそれらを尋ねることを考えました。

私はStataからRに移行しているので、私が得ることができるすべての助けに感謝します。私もSOの他の投稿を見てきましたが、group_byを使用すると注文の処理がほとんどです。

おかげ

+1

ソートを使用しますか? sassign%>総計(sumchild = sum(子)、sumyouth = sum(青少年)、sumcook = sum(cook)、sumdo_it = sum(do_it))%>%sort(、減少する= T) – biomiha

+0

ありがとうございますbiomiha。これは役に立ちます。しかし、SDとCIを含めることができますか? 1つの方法は要約でSD()を使用することですが、多くの変数がある場合は500 SDが必要です。何かご意見は? – watchtower

+0

多くの列の統計情報を計算するには 'summarise_all' /' summarise_each'を参照してください。 – aosmith

答えて

3

あなたは、あなたのデータをループするlapplyを使用する統計を計算、データフレームに入れ、その後、それらをrbindすることができ、ソート部分がdplyrからarrange機能を使用して行うことができます。

library(dplyr) 
do.call(rbind, lapply(df, function(col) { 
    t.result = t.test(col); 
    data.frame(SUM = sum(col), SD = sd(col), 
       CIL = t.result$conf.int[1], CIH = t.result$conf.int[2]) })) %>% 
    add_rownames(var = "CAT") %>% arrange(desc(SUM)) 

# Source: local data frame [4 x 5] 

#  CAT SUM  SD  CIL  CIH 
# <chr> <int>  <dbl>  <dbl> <dbl> 
# 1 cook  5 0.9831921 -0.1984635 1.865130 
# 2 youth  4 0.8164966 -0.1901939 1.523527 
# 3 child  3 1.2247449 -0.7852909 1.785291 
# 4 doit  1 0.4082483 -0.2617636 0.595097 
関連する問題