関数で因数を使用したり、基本的な計算でそれらを利用したりするのに問題があります。このようなデータフレームがあります(ただし、6000もの異なる要素があります)。
df<- data.frame( p <- runif(20)*100,
q = sample(1:100,20, replace = T),
tt = c("e","e","f","f","f","i","h","e","i","i","f","f","j","j","h","h","h","e","j","i"),
ta = c("a","a","a","b","b","b","a","a","c","c","a","b","a","a","c","c","b","a","c","b"))
colnames(df)<-c("p","q","ta","tt")
ここで、価格 = p と数量 = q が変数で、tt と ta は異なる要素です。
ここで、最初に tt のさまざまな要因ごとに q の単位あたりの平均価格を見つけたいと思います
(p*q ) / sum(q) by tt
この場合、これにより、a、b、および c による 3 つの異なる合計のリストが得られます (6000 の異なる要素があるため、賢く行う必要があります :))。
分割を使用してリストを作成しようとしましたが、この場合、個々の tt ファクターに価格と数量を含めることができますが、たとえば平均を作成するようにはできません。私もタップリーを使用しようとしましたが、これに要因を組み込む方法がわかりませんか?
編集:明確にする必要があることがわかります:
平均価格 pr である 3 つの合計を見つける必要があります。q 各因子が与えられるので、この単純化されたケースでは、次のようになります。
a: (Row (1,2,3, 7, 11, 13,14,18) の p*q の合計 / sum (q for row Row (1,2,3, 7, 11, 13,14,18) )
したがって、結果は a、b、c の平均価格になるはずです。これは 3 つの値だけです。