私はRの初心者なので、質問するのに苦労するかもしれません。我慢してください。
2つのデータフレームがあります。説明のためにふりをしましょう:
df1
列は、トウモロコシ、オーツ麦、小麦などの利益の種類を表します。行は、その年の月、1月、2月などを表します。要素は、その特定の月に購入したその利益の種類の1トンあたりの価格を表します。
df2
国を表す列:スペイン、チリ、メキシコなど。このフレームの行は、その国を処理するための追加費用を表します。たとえば、各国の梱包費用、送料、国の輸入税、検査料などです。
次に、3番目のデータフレームを作成します。
df3
これは、穀物の組み合わせ(たとえば、トウモロコシ10%、オート麦50%など)の総コストと、すべての国の送料、税金などに関連するコストを毎月表すことです。方程式があると仮定します。 (df1とdf2のデータを使用して)穀物の特定の組み合わせに対する国ごとの1か月あたりの総コストと、各国の追加コストを計算します。
簡潔にするために、3月の総コストの方程式の一部を考えてみましょう。スペインは、
cost <- .10 * df1[ “mar”,”oats”] + df2[“tax”,”Spain”] + .....
2番目のデータフレームの要素を選択し、最初のデータフレームの列を使用して演算を実行して、結果を取得するのは簡単です。特定の国の場合:
cost <- .10 * df1[ ,”oats”] + df2[“tax”,”Spain”] + .....
これは私にスペインの毎月の費用を与えます
問題は、すべての国で同じ計算を繰り返さなければならないということです。
別のバージョン:
cost <- .10 * df1[ ,”oats”] + df2[“tax”,] + .....
各国の費用を教えてくれますが、1月のみです
すべての郡の1か月あたりの総費用を計算する1セットの方程式を作成したいと思います。言い換えると、(月)と同じdf3
行数、 (国)と同じ列数になります。df1
df2
編集...閉じた質問に投稿された例に貼り付けます:
# build df1 - cost of grains (with goofy data so I can track the arithemetic)
v1 <- c(1:12)
v2 <- c(13:24)
v3 <- c(25:36)
v4 <- c(37:48)
grain <- data.frame("wheat"=v1,"oats"=v2,"corn"=v3,"rye"=v4)
grain
# build df2 - additional costs (again, with goofy data to see what is being used where and when)
w1 <- c(1.3:4.3)
w2 <- c(5.3:8.3)
w3 <- c(9.3:12.3)
w4 <- c(13.3:16.3)
cost <- data.frame("Spain"=w1,"Peru"=w2,"Mexico"=w3,"Kenya"=w4)
row.names(cost) <- c("packing","shipping","tax","inspection")
cost
# assume 10% wheat, 30% oats and 60% rye with some clown-equation for total cost
# now for my feeble attempt at getting a dataframe that has 12 rows (months) and 4 column (countries)
total_cost <- data.frame( 0.1*grain[,"wheat"] +
0.3*grain[,"oats"] +
0.6*grain[,"rye"] +
cost["packing","Mexico"] +
cost["shipping","Mexico"] +
cost["tax","Mexico"] +
cost["inspection","Mexico"] )
total_cost