1
でdplyrを使用して新しい列の任意の数を作成します。私はタイトルがうまく言葉で表現されるかどうかわからないんだけど、ここでの状況であるR
私は、行の任意の数を持つことができるメタデータセットを、持っていますこれで、例えば:Control_DFに含まれるデータを使用して
Control_DF <- cbind.data.frame(
Scenario = c("A","B","C")
,Variable = c("V1","V2","V3")
,Weight = c("w1","w2","w3")
)
は、私は重量で変数を掛け、私のメインのデータセット、上の各変数の新しいバージョンを作成したいです。私のメインのデータセットは、次のようになりますのであれば:
Main_Data <- cbind.data.frame(
V1 = c(1,2,3,4)
,V2 = c(2,3,4,5)
,V2 = c(3,4,5,6)
,w1 = c(0.1,0.5,1,0.8)
,w2 = c(0.2,1,0.3,0.6)
,w2 = c(0.3,0.7,0.1,0.2)
)
その後、オープンコードでは、私がやりたいことは次のようになります。
New_Data <- Main_Data %>%
mutate(
weighted_V1 = V1 * w1
,weighted_V2 = V2 * w2
,weighted_V3 = V3 * w3
)
しかし、私はハードこれをコーディングしない方法を必要とし、参照される変数の数は任意である。
誰でも手伝ってもらえますか?
次のようにあなたができる
は、論理何ですか? – mtoto
私の例ではV1-V3がありますが、このアプリケーションではV1 - V10、V1 - V76などがあります。dplyrの美しさは簡潔で読みやすいコードですが、これを拡張するのに苦労しています問題。私はリボンか何かをすることができますが、それはあまり効率的ではないと思うし、それは確かに読みにくいので、あまり望ましくないです。 – TomFromWales
どういうわけか、 "weighted_V1 = V1 * w1、...、weighted_Vn = Vn * wn"を文字列に入れて、これを "paste and exectue"してこれをmutate関数に入れると良いでしょう! – TomFromWales