データ列には、日付列、int列(下の例ではvalue
)、および12個の他の数値列があり、 X1
(jan)からX12
(dec)。他の列の条件に基づいて新しいRデータフレーム列を作成する
それは何かのようになります。
date_var value X1 X2 X3 ... X12
2016-01-01 100 1212 4161 9080 ... 383
2016-02-01 150 1212 4161 9080 ... 383
2016-03-01 150 1212 4161 9080 ... 383
私は新しい列を作成されてやってみたい何が、適切な毎月の値で割ったvalue
列の数字に対応してZを、それを呼び出すことができます。
date_var value X1 X2 X3 ... X12 Z
2016-01-01 100 1212 4161 9080 ... 383 0.0825
2016-02-01 150 1212 4161 9080 ... 383 0.0360
2016-03-01 150 1212 4161 9080 ... 383 0.0165
I:2016-02-01
エントリ代わりに2月のためのX2で除算なり、2016-03-01
をvalue
はX3で除しなければならないのに対し
たとえば、2016-01-01
エントリのZ上の表に、1212分の100に等しくなりますvalue
をdf[paste("X", month(df$date_var), sep = '')]
で除算しようとする行に沿ってさまざまなアプローチを試しましたが、これは要素的に動作するのではなくむしろ明らかに正しいアプローチではありません。
date_varがすでに日付形式で指定されているので、あなたが ''月(date_var) 'とas.numeric(フォーマット(date_var、 "%mを"))'置き換えることができます。そうでなければ、これは素晴らしいことです。 – parksw3
ああ、素晴らしい点、潤滑剤がインストールされていない - >コード例が更新されました – sebkopf
私はあなたが潤滑剤を必要としないと思います。私はRubridateなしで動作します。 – parksw3