在 R 中访问 summary() 中的元素
Access elements in summary() in R
我想在 R 中访问 Anova 摘要的一些元素。我一直在尝试这个问题 Access or parse elements in summary() in R。
当我将摘要转换为字符串时,它显示如下:
str(summ)
List of 1
$ :Classes 'anova' and 'data.frame': 2 obs. of 5 variables:
..$ Df : num [1:2] 3 60
..$ Sum Sq : num [1:2] 0.457 2.647
..$ Mean Sq: num [1:2] 0.1523 0.0441
..$ F value: num [1:2] 3.45 NA
..$ Pr(>F) : num [1:2] 0.022 NA
- attr(*, "class")= chr [1:2] "summary.aov" "listof"
如何获取 F 值?
我一直在尝试 summ[c('F value')]
之类的方法,但仍然无法正常工作。
如有任何帮助,我们将不胜感激!
你有一个列表中的 anova 对象(str 输出的第一行是 List of 1)。所以你需要得到这个单个元素的"F value",比如:
summm[[1]][["F value"]]
作为对上述答案的补充,我建议您在想要 access/use 模型对象的各种元素时开始使用 broom
包。
首先,通过使用 str
命令,您不会将摘要转换为字符串,而只会看到摘要的结构,即列表。所以,str
表示 "structure".
broom
包使您能够将模型对象的信息保存为数据框,这更易于操作。检查我的简单示例:
library(broom)
fit <- aov(mpg ~ vs, data = mtcars)
# check the summary of the ANOVA (not possible to access info/elements)
fit2 = summary(fit)
fit2
# Df Sum Sq Mean Sq F value Pr(>F)
# vs 1 496.5 496.5 23.66 3.42e-05 ***
# Residuals 30 629.5 21.0
# create a data frame of the ANOVA
fit3 = tidy(fit)
fit3
# term df sumsq meansq statistic p.value
# 1 vs 1 496.5279 496.52790 23.66224 3.415937e-05
# 2 Residuals 30 629.5193 20.98398 NA NA
# get F value (or any other values)
fit3$statistic[1]
#[1] 23.66224
我认为对于您提供的具体示例,您实际上并不需要使用 broom
方法,但如果它恰好处理更复杂的模型对象,那么尝试它会非常有用。
我想在 R 中访问 Anova 摘要的一些元素。我一直在尝试这个问题 Access or parse elements in summary() in R。
当我将摘要转换为字符串时,它显示如下:
str(summ)
List of 1
$ :Classes 'anova' and 'data.frame': 2 obs. of 5 variables:
..$ Df : num [1:2] 3 60
..$ Sum Sq : num [1:2] 0.457 2.647
..$ Mean Sq: num [1:2] 0.1523 0.0441
..$ F value: num [1:2] 3.45 NA
..$ Pr(>F) : num [1:2] 0.022 NA
- attr(*, "class")= chr [1:2] "summary.aov" "listof"
如何获取 F 值?
我一直在尝试 summ[c('F value')]
之类的方法,但仍然无法正常工作。
如有任何帮助,我们将不胜感激!
你有一个列表中的 anova 对象(str 输出的第一行是 List of 1)。所以你需要得到这个单个元素的"F value",比如:
summm[[1]][["F value"]]
作为对上述答案的补充,我建议您在想要 access/use 模型对象的各种元素时开始使用 broom
包。
首先,通过使用 str
命令,您不会将摘要转换为字符串,而只会看到摘要的结构,即列表。所以,str
表示 "structure".
broom
包使您能够将模型对象的信息保存为数据框,这更易于操作。检查我的简单示例:
library(broom)
fit <- aov(mpg ~ vs, data = mtcars)
# check the summary of the ANOVA (not possible to access info/elements)
fit2 = summary(fit)
fit2
# Df Sum Sq Mean Sq F value Pr(>F)
# vs 1 496.5 496.5 23.66 3.42e-05 ***
# Residuals 30 629.5 21.0
# create a data frame of the ANOVA
fit3 = tidy(fit)
fit3
# term df sumsq meansq statistic p.value
# 1 vs 1 496.5279 496.52790 23.66224 3.415937e-05
# 2 Residuals 30 629.5193 20.98398 NA NA
# get F value (or any other values)
fit3$statistic[1]
#[1] 23.66224
我认为对于您提供的具体示例,您实际上并不需要使用 broom
方法,但如果它恰好处理更复杂的模型对象,那么尝试它会非常有用。