R - DPLYR 在 Group by 中使用时无法正常工作



计算两种不同预测方法之间的错误率。我的基本方法是按nk分组并计算要比较的错误,然后选择错误率值较小的错误。问题是我越来越MAP1E_arima_dsMAPE_cagr_ds都是相同的值,group_by函数在计算时不起作用。

这是我尝试过的东西

  group_by(nk) %>%
  mutate(MAP1E_arima_ds=sum(temp2$ABS_arima_error_ds)/nrow(temp2)) %>%
  mutate(MAPE_cagr_ds=sum(temp2$ABS_cagr_error_ds)/nrow(temp2))


So finally expected like

         nk         MAP1E_arima_ds      MAPE_cagr_ds
       1-G0175      value_x                value_y
       1-H0182       value_z               value_a
so that I can compare error rate and choose forecasting method with less error rate.

如果我理解正确,我认为您正在寻找的是这个

library(dplyr)
df %>%
  group_by(nk) %>%
  summarise(MAP1E_arima_ds=sum(ABS_arima_error_ds)/n(), 
            MAPE_cagr_ds=sum(ABS_cagr_error_ds)/n())
# A tibble: 2 x 3
#    nk      MAP1E_arima_ds MAPE_cagr_ds
#  <chr>            <dbl>        <dbl>
#1 1-G0175          14.7          3.38
#2 1-H0182           2.91         7.40

这实际上是mean

df %>%
  group_by(nk) %>%
  summarise(MAP1E_arima_ds = mean(ABS_arima_error_ds), 
            MAPE_cagr_ds = mean(ABS_cagr_error_ds))

此外,复制dput后,您的数据似乎已经按nk分组,因此以下内容也会给出相同的结果

df %>%
   summarise(MAP1E_arima_ds=mean(ABS_arima_error_ds), 
             MAPE_cagr_ds=mean(ABS_cagr_error_ds))

最新更新