如何获得R中的ANOVA的F统计值?

Hct*_*sol 1 statistics r anova

我目前正在运行一些算法来解决多目标线性数学模型(运营研究)。我使用了三种算法:约束方法(CM),非排序遗传算法II(NSGA-II)和强度帕累托进化算法2(SPEA2)。我已经针对帕累托边界中的解决方案数量设置了一个性能指标(No_solutions),并从六个实例(I1,..,I6)收集了数据。

我的数据如下表:

   Instance Algorithm No_solutions

 1 I1       C-M                 48
 2 I2       C-M                 46
 3 I3       C-M                 51
 4 I4       C-M                 50
 5 I5       C-M                 51
 6 I6       C-M                 49
 7 I1       NSGA-II            300
 8 I2       NSGA-II            300
 9 I3       NSGA-II            300
10 I4       NSGA-II            300
11 I5       NSGA-II            300
12 I6       NSGA-II            300
13 I1       SPEA2              150
14 I2       SPEA3              150
15 I3       SPEA4              150
16 I4       SPEA5              150
17 I5       SPEA6              150
18 I6       SPEA7              150
Run Code Online (Sandbox Code Playgroud)

我已经使用在R中运行了ANOVA aov()。我的代码如下:

performance_1 <- read_excel("C:/Users/Alonso/Desktop/metaheuristic_comparation/performance.xlsx")
View(performance_1)
attach(performance_1)
names(performance_1)
str(performance_1)

Factor_algorithm <- factor(Algorithm)
Factor_instance <- factor(Instance)
Respuesta <- performance_1$No_solutions

Modelo <-lm(Respuesta ~ (Factor_algorithm+Factor_instance)^2)
ANOVA <-aov(Modelo)
summary(ANOVA)
Run Code Online (Sandbox Code Playgroud)

输出为:

 Modelo <-lm(Respuesta ~ (Factor_algorithm+Factor_instance)^2)
 ANOVA <-aov(Modelo)
 summary(ANOVA)
                                 Df Sum Sq Mean Sq
Factor_algorithm                  7 191169   27310
Factor_instance                   5      9       2
Factor_algorithm:Factor_instance  5      9       2

Run Code Online (Sandbox Code Playgroud)

我已经阅读了aov()方法的文档,并且我很确定必须显示F统计信息。有任何想法吗?我很确定我可以使用这种方法获得更多信息

Sim*_*mon 7

请仔细阅读该aov功能的文档。它指出仅当模型中的剩余自由度非零时才显示F和p值

在您的情况下,您有18个数据点,您的预测变量使用了17(7 + 5 + 5)个自由度,而模型本身需要1个自由度,这使您达到18个。这使您有0个剩余自由度因此不会显示F值。解决方案是收集更多数据或简化模型