これはおそらく愚かな質問ですが、私はデータフレームのCrawleyの章を読んでインターネットを精査し、まだ何かを動かすことができませんでした。ここで 特定の要素の組み合わせに基づいた行の合計
は私に似たサンプルデータセットである:私がやりたい何> data<-data.frame(site=c("A","A","A","A","B","B"), plant=c("buttercup","buttercup",
"buttercup","rose","buttercup","rose"), treatment=c(1,1,2,1,1,1),
plant_numb=c(1,1,2,1,1,2), fruits=c(1,2,1,4,3,2),seeds=c(45,67,32,43,13,25))
> data
site plant treatment plant_numb fruits seeds
1 A buttercup 1 1 1 45
2 A buttercup 1 1 2 67
3 A buttercup 2 2 1 32
4 A rose 1 1 4 43
5 B buttercup 1 1 3 13
6 B rose 1 2 2 25
は「シード」と「果物」は合計されたシナリオを作成する場合は常にユニークなサイト&植物&治療& plant_numbの組み合わせ存在する。理想的には、この行の削減が、元の列の保全(つまり、私はこのように見えるように、上記の例を必要とする:)
site plant treatment plant_numb fruits seeds
1 A buttercup 1 1 3 112
2 A buttercup 2 2 1 32
3 A rose 1 1 4 43
4 B buttercup 1 1 3 13
5 B rose 1 2 2 25
ことになる。この例では、かなり基本的なものです(私のデータセットは〜5000行です)、ここでは合計する必要がある2つの行のみが表示されますが、合計する必要がある行の数は1から45までの範囲です。
私はrowsum()とtapply()を試みてきましたが、これまでのところかなりの結果しか得られていませんでした(これらの関数は要素に意味がないと私に伝えています)。非常にそれを感謝します!
ありがとうございます!
外観'plyr'と' data.table'タグです。基本的には多くの疑問があります。がんばろう! – Chase
も参照してください。http://4dpiecharts.com/2011/12/16/a-quick-primer-on-split-apply-combine-problems/ –