У меня есть вопрос о парном умножении переменных / df на R.
Рассмотрим следующую проблему: наличие данных в векторе (или в фрейме данных), имеющих метки и значения, следующим образом:
alpha_lab <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
alpha_num <- c(15.28767, 44.38356, 73.47945, 103.56164, 133.64384, 163.72603, 193.80822, 224.38356, 254.46575, 284.54795, 314.63014, 344.71233)
alpha_num является продуктом других вычислений (не имеет значения), следующие значения соответствуют их меткам в alpha_lab (т. Е. Январь = 15.28767, апрель = 103.56164 ...). У меня также есть датафрейм с "case", "month" (как int ), "year" и "value":
> df_values
# A tibble: 1,173 x 4
# Groups: case, month
case month year value
<chr> <int> <int> <dbl>
1 A1 1 2009 121.
2 A1 1 2010 177.
3 A1 1 2011 220.
4 A1 1 2012 196.
5 A1 1 2013 161.
6 A1 1 2014 142.
7 A1 2 2009 82.3
8 A1 2 2010 169.
9 A1 2 2011 194.
10 A1 2 2012 169.
# ... with 1,163 more rows
то, что я ищу, это способ вычислять для каждого случая (20 различных) в каждом месяце-году произведение
value * alpha_num
, где alpha_num берется только для расчетного месяца, например:
row 1 (A1, January 2009 case): 121 * 15.28767
row 5 (A1, January 2013 case): 161 * 15.28767
row 7 (A1, February 2011 case): 82.3 * 44.38356
и т. Д. Для каждого случая в каждом месяце каждого года ...
Есть ли способ вычислить это без добавления соответствующего значения alpha_num к df_values таблица один на один месяц дела?
Спасибо!