2017-06-12 11 views
0

表形式を使用してきれいなテーブルを作成しようとしています。私は集計したデータを持っています:集計データでテーブル::表形式を使用できます

df<-data.frame(
    category=as.factor(c("cat1", "cat1", "cat2","cat2", "cat3")), 
    color=as.factor(c("red","yellow", "orange", "red", "green")), 
    counts = c(3,21, 24, 5, 97)) 

レコードの数をカウントする代わりに 'counts'変数を合計するテーブルを生成します。私はこれを行う場合:

tabular(category~(n=1), data=df) 

を生成します。

category n 
cat1  2 
cat2  2 
cat3  1 

私はこのような何か必要なように思え:

tabular(category~(Sum=sum(counts)), data=df) 

をしかし、私はエラーを取得する:

Error in term2table(rows[[i]], cols[[j]], data, n) : 
    Argument 'sum(counts)' is not length 5 

ご意見ありがとうございます。

答えて

1

あなたは単に集計を使用できますか?

> aggregate(counts~category, df, sum) 
    category counts 
1  cat1  24 
2  cat2  29 
3  cat3  97 
+0

使用してオプションです。私はさまざまなレイアウトテーブルを作成するためのいくつかの関数を構築しました。しかし、1つのデータセットでは個々のレコードではなくデータが集計されます。私ができるなら、この1つのデータセット用に構築したのと同じソリューションを使用したいと思います。 – user2547973

0

は、ここで私は、RマークダウンでExcel-探してテーブルを作成するには、このプロジェクトのために表形式を使用していtidyverse

library(tidyverse) 
df %>% 
    group_by(category) %>% 
    summarise(counts = sum(counts)) 
# A tibble: 3 x 2  
# category counts 
# <fctr> <dbl> 
#1  cat1  24 
#2  cat2  29 
#3  cat3  97 
関連する問題