我正在创建一个变量,该变量应以指定的增长率来增长对变量的先前观察。我正在用R中的case_when语句执行此操作。到目前为止,这是我的代码:
consolidated_balances_comp %>% mutate(
fee = 0.05/12,
class_start = case_when(
date == "2011-01-31" & lead(fund_name,1) == fund_name ~ balances * (1+lead(returns, 1))/2,
TRUE ~ 0
),
benchmark_compare_1 = case_when(
date == "2011-02-28" & lag(fund_name,1) == fund_name & date_added =="2011-01-31" ~ (lag(class_start,1) + in_and_out)*(1+ returns_bench1 - fee)^0.25,
date_added >= "2011-02-28" & lead(fund_name,1) == fund_name & lag(date,1) == date_added ~ (lag(balances,1) * (1+ returns_bench1 -fee)^0.5 + in_and_out) *(1+ returns_bench1 - fee)^0.5,
TRUE ~ 0
),
damages_benchmark_1 = case_when(
lag(date,2) == date_added & lag(fund_name,1) == fund_name ~
(lag(benchmark_compare_1,1) * (1+returns_bench1 - fee)^0.5 +in_and_out )*(1+returns_bench1 - fee)^0.5,
lag(date,2) > date_added & lag(fund_name,1) == fund_name ~
(damages_benchmark_1[-1] * (1+returns_bench1 - fee)^0.5 +in_and_out )*(1+returns_bench1 - fee)^0.5
)
正是代码的最后一部分(变量“ damages_benchmark_1”)给我带来麻烦,因为我引用的是在其内部创建的变量。]>
我正在创建一个变量,该变量应以指定的增长率来增长对变量的先前观察。我正在用R中的case_when语句执行此操作。到目前为止,这是我的代码:...
您可以通过以下方式在mutate/case_when
调用中引用变量名: