r - broom::augment 返回矩阵不能取消嵌套
问题描述
我正在尝试在 lm(y ~poly(x, 3), data = dat) 上运行扫帚。
使用该公式 broom::augment 在嵌套列中返回一个矩阵。当我尝试取消嵌套时,这会失败并显示类似于“无法投射多边形...
我发现了一个类似的问题,但没有答案 尝试取消嵌套 broom::augment 数据,但 R“无法投射”
library(rmarkdown)
library(tidyverse)
library(fs)
structure(list(a = c("2019-11-25", "2019-11-25",
"2019-11-25", "2019-11-25", "2019-11-25"),
b = c("laktat-felttest", "laktat-felttest",
"laktat-felttest", "laktat-felttest",
"laktat-felttest"),
c = c("kai", "kai", "kai", "kai", "kai"),
maaling = c(1, 2, 3, 4, 5),
load = c(800, 850, 900, 1000, 1100),
time_mm = c(5, 5, 4, 4, 4),
time_ss = c(9, 0, 55, 35, 45),
hr = c(125, 140, 140, 160, 172),
rpe = c(2, 4, 4, 8, 9),
laktat = c(2.7, 2.1, 2, 4.8, 10.2),
time = c(309, 300, 295, 275, 285),
x = c(2.58899676375405, 2.83333333333333,
3.05084745762712, 3.63636363636364, 3.85964912280702),
la_x = c(1.042875, 0.741176470588235,
0.655555555555556, 1.32, 2.64272727272727)),
class = c("tbl_df", "tbl", "data.frame"),
row.names = c(NA, -5L)) ->
dat
dat %>%
group_by(a,b,c) %>%
nest() %>%
mutate(model = data %>% map( ., ~lm( data = ., laktat ~ poly(x, 3), na.action = "na.exclude")),
tidied = model %>% map( ., broom::tidy ),
glance = model %>% map(., broom::glance),
augment = map( model, broom::augment),
augment = map( augment, janitor::clean_names, "snake" )) ->
model_tbl
##model_tbl %>%
## unnest(augment)
在我看来,嵌套列(扩充所在的位置)有一个矩阵。我不知道如何将其更改为 listcolumns。
来自丹麦的问候 Dan Olesen
解决方案
poly()
功能是问题。它会导致奇怪的列名。您可以将其替换为,x + I(x^2) + I(x^3)
并获得更好的列名。
dat %>%
group_by(a,b,c) %>%
nest() %>%
mutate(model = data %>% map( ., ~lm( data = ., laktat ~ x + I(x^2) + I(x^3), na.action = "na.exclude")),
tidied = model %>% map( ., broom::tidy ),
glance = model %>% map(., broom::glance),
augment = map( model, broom::augment),
augment = map( augment, janitor::clean_names, "snake" )) ->
model_tbl
更新:
我刚刚意识到一个问题。使用x + I(x^2) + I(x^3)
不完全相同poly(x, 3)
。如果您使用后者,则系数不相关,但如果您使用第一个,则它们是相关的。目前不知道如何解决这个问题。
推荐阅读
- tensorflow - 如何对 CNN keras 使用 k 折交叉验证
- c - 如何将一行整数拆分为数组?
- php - 在 Laravel 中注册完成后如何显示用户输入
- python - sklearn chi2取的p值是多少
- c# - ASP Tag Helpers 中的@Model.propertyname 等价物是什么?
- swift - TableView 有 2 个部分,无法将数据传递给 Section2ViewController
- c# - 按反射排序比按成员更快?
- arrays - 根据给定的模式在更大的 int 数组中查找所有可能的子数组组合
- javascript - 正则表达式提取特定模式的段落
- swift - Swift4 - Xcode 9 PCH 错误