問題タブ [mutated]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 反復された列名に特定の月が含まれている場合、for ループで列を変更する
x の各合計リターン列を反復する for ループを取得しようとしています。列名に Jan、Apr、Jul、または Oct が含まれている場合は、Data の Index.Wgt 列を Rebal_Wgt 列に置き換えて変更します。
それ以外の月では、Index.Wgt はトータル リターンによって増加し、合計が 100% になるように再スケーリングされます。
目的は、Index.Wgt 列が特定の月のモデルの重み (Rebal_Wgt) に戻る四半期ごとのリバランスであり、基本的には Index.Wgt にトータル リターンを掛けることによって、月次パフォーマンスが出力されます。
ifelse ステートメントで %like% を機能させるのに苦労しています。
dput(データ):
structure(list(Rebal_Wgt = c(0.02, 0.01, 0.1, 0.2, 0.1, 0.07, 0.05, 0.3, 0.15), Index.Wgt = c(0.02, 0.01, 0.1, 0.2, 0.1, 0.07, 0.05, 0.3, 0.15), TR_May17 = c(1.001715422, 0.98909569, 1.04555547, 1.008702517, 1.05057454, 0.95632559, 1.07556725, 1.09333086, 1.04512179), TR_Jun17 = c(1.06285512, 0.999283433, 1.03150094, 0.98932916, 0.92823368, 1.1172496, 0.97140139, 1.005518198, 1.01058865 ), TR_Jul17 = c(1.03446233, 0.97522825, 1.00325048, 1.05024529, 0.995382786, 1.0008474588, 0.992340744, 0.993811727, 1.006075501 ), TR_Aug17 = c(1.0369637, 1.00775516, 1.003725171, 1.01596558, 0.998266757, 0.8973751, 1.02135468, 1.1324508, 1.06614256), TR_Sep17 = c(0.98839235, 1.0913459, 0.98217118, 0.98601937, 1.008270502, 0.9818216, 1.008661747, 1.003833294, 1.01179886), TR_Oct17 = c(1.07337248, 1.01357305, 1.07230222, 0.95614499, 0.90512866, 1.06055939, 1.04648316, 1.04047477, 1.02447152), TR_Nov17 = c(1.08895445, 1.090137, 1.005505204, 1.04227471, 1.09307396, 1.09874511, 0.995394289, 1.0394758, 0.994479656 ), TR_Dec17 = c(0.96620947, 1.05399835, 1.002799153, 1.02100229, 1.0007432699, 1.03871107, 1.002479553, 1.04314768, 0.98584384 ), TR_Jan18 = c(1.07402694, 1.05999053, 0.98904955, 0.94688976, 0.97579116, 1.09064746, 1.02705634, 1.03444982, 1.1802717), TR_Feb18 = c(0.95514828, 0.90726733, 0.94584322, 0.90942782, 0.94013864, 0.9825564, 0.94669902, 0.92929512, 0.9307037), TR_Mar18 = c(0.94939065, 0.9835301, 0.98667991, 1.009679079, 1.02305841, 0.994206607, 1.04424369, 0.96199369, 0.990624368), TR_Apr18 = c(1.1046729, 1.03680432, 0.98704648, 0.92119348, 0.97509712, 1.02934968, 1.08532143, 0.96402019, 1.01884139 ), TR_May18 = c(1.02161586, 1.01502717, 0.9526943, 1.01147366, 0.96223599, 1.04986119, 0.998944104, 1.002378702, 0.990111709 )), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -9L))