次のデータフレームを検討してください。
df <- data.frame(Asset = c("A", "B", "C"), Historical = c(0.05,0.04,0.03), Forecast = c(0.04,0.02,NA))
# Asset Historical Forecast
#1 A 0.05 0.04
#2 B 0.04 0.02
#3 C 0.03 NA
だけでなく、変数x
。は、R スクリプトの開始時にユーザーによって設定され、または のいずれかx
の 2 つの値を取ることができます。x = "Forecast"
x = "Historical"
の場合x = "Forecast"
、次を返したいと思います: 各資産について、予測が利用可能な場合は「予測」列から適切な数値を返し、それ以外の場合は「履歴」列から適切な数値を返します。以下に示すように、A と B の両方に、以下に返される予測値があります。C には予測値がないため、履歴値が返されます。
Asset Return
1 A 0.04
2 B 0.02
3 C 0.03
ただし、x= "Historical"
単に履歴列を返す場合:
Asset Historical
1 A 0.05
2 B 0.04
3 C 0.03
簡単な方法を思いつくことはできません。多数の行がある場合、ブルート フォースは非常に非効率的です。何か案は?
ありがとう!