我正在使用 ' segmented' 包来查找 R 中线性回归的断点
library(tidyverse)
library(segmented)
df <- data.frame(x = c(1:10), y = c(1,1,1,1,1,6:10))
lm_model <- lm(y ~ x, data = df)
seg_model <- segmented(obj = lm_model, seg.Z = ~ x)
Run Code Online (Sandbox Code Playgroud)
但是,如果我在 a 中运行相同的模型purrr:map,则分段会失败。
map_test <- df %>%
nest() %>%
mutate(map_lm = map(data, ~lm(y ~ x, data = .)),
param_map_lm = map(map_lm, tidy))
map_lm_model <- map_test[[2]][[1]]
map_seg_model <- segmented(obj = map_lm_model, seg.Z = ~ x)
Run Code Online (Sandbox Code Playgroud)
“is.data.frame(data) 中出现错误:对象‘.’ 未找到”
当从映射输出中提取的 lm 中获取 lm obj 时,segmented 无法找到底层数据。 …