私は自分の仕事に必要なツールをddply istと信じていますし、正しい結果を得るのが少し難しいです。私はddplyについて何時間も読んだことがあり、さまざまなコードを実験しましたが、それ以上は自分では得られませんでした。ここで 土壌深さ複数のサブセットでddply遅れている
station <- c(rep("muc",13), rep("nbw", 17))
year <- c(rep(1994,4),rep(1995,4),rep(1996,5),rep(1994,5), rep(1995,4), rep(1996,4), rep(1997, 4))
depth <- c(rep(c("HUM","31-60","61-90","91-220"),2), rep(c("HUM","0-30", "31-60","61-90","91-220"),2),rep(c("HUM","0-30", "31-60","91-220"),1),rep(c("HUM","0-30", "31-60","61-90"),2))
doc <- c(80, 10, 3, 2,70, 15, 5, 5,70, 20, 5, 5, 2, 40, 10, 3, 2, 1,50, 15, 5, 2, 45, 20, 2, 1,35, 8, 2, 1)
df <-data.frame(station,year,depth,doc)
df
深さは、土壌深さ(HUM =腐植層)を参照して、DOCは測定溶存有機炭素(DOC)である例示的なデータフレームです。毎年、文書の測定が行われるわけではなく、いくつかの深さクラスが欠落していることに注意してください。これは面倒ですが、データセットに頻繁に表示されます。 ddplyでは、このデータフレームに列を追加して、各深度について、上記の土壌層の文書を返し、何も腐植層の上に何もないのでHUM NAを与える必要があります。 例として:データフレームで
depth doc doc_m1
HUM 80 NA
31-60 10 80
61-90 3 10
91-220 2 3
もちろんこれは、毎年、すべての深さのために計算する必要があります。私はループを避けたいと思っていますが、ddplyがこれに適しているようですが、ddplyを使うのに遅れを取ることはありませんでした。 これは私の知る限り、コード(明らかではない非常に遠く)になったとされています
doc <- ddply(df, .(year), transform,
doc_m1 = ????)
誰もが提案を持っていますか? ありがとうございます!
ありがとう、これは完全に機能しました! Rについてもっと学ぶほど、正しい解決策は通常、単純な解決策であることを実感しています。 –