2017-04-05 6 views
0

私はRstudioの初期ユーザーですが、私はかなり単純な問題がありますが、残念ながら私は解決できません。 私は、dfの最初の列に含まれる単語で自分のdata.frameの行を集約したいだけです。 data.frameは5つの列で作成されます。 最初のものは単語で作成されます。 第2、第3、第4、第5のものは数値で作られています。例えばどのようにしてRで対応する列の数値を合計して、data.frameの行を名前で集計できますか?

データは次のようになり場合:

SecondWord X Y Z Q 
NO   1 2 2 1 
NO   0 0 1 0 
YES   1 1 1 1 

私の好きな結果を期待:

SecondWord X Y Z Q 
NO   1 2 3 1 
YES   1 1 1 1 

私はどのように行うことができますか? 私は、以下の方法を使用することを試みた:

test <- read.csv2("test.csv") 
df<-aggregate(.~Secondword,data=test, FUN = sum, na.rm=TRUE) 

をしかし、値は私が見に期待するものはありませんでした。 今後のお役に立てていただきありがとうございます。「シンプルな」質問をお詫び申し上げます。

+0

'集計(。〜SecondWord、テスト、合計は)'私の作品を使用することができます。 'aggregate'を適用する前に' test'を一度出力してください。 –

答えて

0

ddplyも同様に動作します。

例えば、のようなもの:

library(plyr) 
grouped <- ddply(test, "Secondword", numcolwise(sum)) 
+2

一般的には、問題の本文に使用されているパッケージを特定し、数年後に破損する可能性のあるリンクを使用するのではなく、 '?ddply'のようなヘルプファイルを参照する必要があります。 – Frank

+0

まあ、私はGoogleがまだ数年後にまだ生きていると思う。それが壊れた場合は、そこで検索してください。 – paoloqaz

1

はまたtidyverse

library(tidyverse) 
df <- test %>% 
    group_by(SecondWord) %>% 
    summarize_each(funs(sum)) 

df 
# SecondWord  X  Y  Z  Q 
#   NO  1  2  3  1 
#  YES  1  1  1  1 
関連する問題