You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

按行业分组运行SFA模型并将结果存入变量的技术问询

分组运行SFA模型并保存各行业结果的实现方法

你当前的代码问题在于do()块里只是给mod赋值,但没有把模型结果返回给dplyr的分组流程,导致无法保存每个行业的模型。调整方式很简单,让do()返回包含模型的结构即可:

修正后的代码

library(dplyr)
library(frontier)

# 分组运行SFA并保存每个行业的模型对象
sfa_out <- data %>%
  group_by(industry) %>%
  do(model = sfa(log(y1) ~ log(x1) + log(x2) + log(x3),
                 ineffDecrease = TRUE,
                 truncNorm = FALSE,
                 timeEffect = TRUE,
                 data = .))

如何使用保存的模型

  • sfa_out是一个tibble,每行对应一个行业,包含两列:industry(行业名称)和model(该行业的SFA模型对象)
  • 提取单个行业的模型:比如要查看"电子信息业"的模型结果,可执行:
    sfa_out %>% filter(industry == "电子信息业") %>% pull(model) %>% .[[1]]
    
  • 批量查看所有行业的模型摘要:可以用purrr包遍历模型列(如果没装先运行install.packages("purrr")):
    library(purrr)
    map(sfa_out$model, summary)
    

这样每个行业的SFA模型结果就都存在model列里了,你可以随时调用、分析单个或批量模型。

内容的提问来源于stack exchange,提问作者fsure

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:10:20