问题标签 [broom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
471 浏览

r - 将 broom::glance() 与 glmmTMB 结合使用

我已经使用 glmmTMB 运行了一组 23 个模型。(我已经将我的模型设置为list下面的示例代码)

我想创建一个汇总表,为包含在cand.models. 我尝试使用broom::glance(),它应该创建一个“单行”摘要,其中包括偏差,以及 AIC 和 BIC 等其他内容。

但是,输出不包括模型偏差!(它只包括 sigma、logLik、AIC、BIC 和 df.residual)。有谁知道它为什么不提供偏差(也许是 glmmTMB 特有的问题?)。或者,有没有人有替代解决方案来提取偏差?

0 投票
1 回答
424 浏览

r - 使用 dplyr 等拟合许多 GAM 并提取导数

我需要将 GAM 拟合到北美超过 1000 个鸟巢的卫星物候数据 (EVI) 时间序列。GAM 看起来像这样:

EVI ~ s(天)

该模型需要适合多年内的每个巢穴。拟合 GAM 后,我需要提取导数,它可用于获取每个巢穴每年春天开始的日期。

理想情况下,我希望使用 tidyverse 和相关软件包来适应每个巢穴和年份的 GAM。然后我想获得每个模型的一阶导数。由于它是一个大型数据集(>1000 个模型),因此对每个模型手动执行此操作是不可行的。

这是我的代码目前的样子:

图书馆:

数据:

在这里,我按每个 NestID 和 Year 组合进行分组,并使用“do”将 GAM 适合每个组合。结果是一个包含每个模型的新列“mod”的小标题:

这是我不确定如何处理的部分。我为预测目的创建了一个新的数据框(newd),然后可以使用该数据框和模型来获取导数。我想知道如何使用我在上面创建的模型数据集来做到这一点,也许可以通过向其中添加几行代码来完成?我会为每个 NestID/Year 创建另一列,然后计算另一列中的导数吗?

0 投票
1 回答
3326 浏览

r - 无法安装扫帚包

我在我的 Windows PC 上安装扫帚包时遇到了可怕的麻烦

我曾尝试使用从源代码安装.tar.gz和使用 CRAN 从源安装dependencies = TRUE,但均无济于事。

0 投票
3 回答
1703 浏览

r - 将数据帧列表传递给 lm() 并查看结果

我有三个数据帧,dfLON、dfMOS 和 dfATA。每个都具有相同的变量:y 是连续变量,a、b 和 c 是二元分类变量,还有一些NA.

我想建立单独的线性回归模型,每个数据集一个。

使用我当前的代码,我设法制作了一个数据帧列表并将其传递给 lm()。但是有没有比 eg 更简洁的方法来查看结果fitdfLON <- DfList[[1]]?我在这个例子中提供了三个数据框,但实际上我有大约 25 个,所以我必须输入 25 次!

任何帮助将非常感激。

起点(dfs):

当前代码:

0 投票
2 回答
1221 浏览

r - Purrr 和 R 中的几个多元回归

我知道有几种方法可以比较回归模型。创建模型(从线性到多个)并比较 R2、Adjusted R2 等的一种方法:

我知道有些包可以执行逐步回归,但我试图用 purrr来分析它。我可以创建几个简单的线性模型感谢这里的这篇文章),现在我想知道如何创建回归模型,将特定的 IV 添加到方程

可重现的代码

输出 线性模型的输出

我想要的是:

非常感谢。

0 投票
3 回答
563 浏览

r - 使用管道语法处理模型列表

我经常喜欢拟合和检查与 R 数据框中的两个变量相关的多个模型。

我可以使用这样的语法来做到这一点:

但我习惯了管道语法,并希望能够做到这样的事情:

这清楚地表明我正在“开始”mtcars然后对其进行处理以生成我的输出。但是那个语法不起作用,给出一个错误Error: Index 1 must have length 1

有没有办法以purrr:map()一种我可以通过管道mtcars输入的方式来编写我的函数以获得与上面的工作代码相同的输出?IE

0 投票
4 回答
1333 浏览

r - 在不丢失 dplyr/broom 中的额外列的情况下创建模型和扩充数据

考虑以下数据/示例。每个数据集包含多个样本,具有一个观察值和一个估计值:

我想为每个数据集计算一个线性模型,以消除观察和估计之间的任何线性偏差,并获得原始值旁边的拟合值:

但是,这样做是删除sample_id列,我需要保留该列,以便根据该唯一 ID 继续使用此数据集进行计算:

如何保留原始数据集中的附加列?

我以前看过这个用于折叠数据的答案nest,但我仍然只能使用这种方法获取模型参数。我想我可以提取每个数据集的参数:

…这给了我这个:

…然后将其与原始数据左连接,然后mutate每个estimate都得到线性调整的数据,但这似乎太复杂了。

我发现的另一个丑陋的技巧是将列作为虚拟变量添加到模型中:

是否有一个更简单(整洁)的解决方案,不涉及手动指定我要保留的变量?

0 投票
1 回答
279 浏览

r - 汇总估计 - 带有 broom 和 tidyverse 的回归模型

我正在与一个团队合作,有些人正在使用 SPSS 替换缺失的案例(多重插补),然后分析数据。当 SPSS 估算新值时,它会报告每个数据集结果和一个汇总结果,这与所有结果的平均值不同。

现在,我正在使用 R 处理在 SPSS 上创建的“多重插补数据集”。我正在尝试以与 SPSS 报告相同的方式从回归中获取汇总估计值。Grace to this post here,我可以使用 broom 包运行多个回归模型并显示每个估计值。问题:一些统计数据是不同的。例如,使用扫帚​​时的 t 值高于 SPSS 报告的值。请看一下这个 SPSS 输出。

在此处输入图像描述

为了使这项工作变得简单,假设我想对每个组的星星价格进行回归,然后显示一个带有汇总估计值的行(t 检验结果和 p 值)。

代码:

如果您想更好地了解 SPSS 在做什么,请检查此实际输出。汇总并不是所有结果的平均值。 汇集

请随意说这个问题无关紧要,但不要否定这篇文章。其他人可能有同样的问题,我提供所有代码给你再次运行分析。

非常感谢

0 投票
1 回答
1007 浏览

r - 从扫帚整理没有从主题模型中找到 LDA 的方法

直接从“使用 R 进行文本挖掘”运行此脚本,

我收到此错误消息:

as.data.frame.default(x) 中的错误:无法将类“structure("LDA_VEM", package = "topicmodels")" 强制转换为 >data.frame 另外:警告消息:在 tidy.default(ap_lda) 中:没有使用 as.data.frame 整理 LDA_VEM 类的 S3 对象的方法

'0.4.3'</p>

'0.2.7'</p>

R 版本 3.4.3 (2017-11-30) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行条件:Windows >= 8 x64 (build 9200)

矩阵产品:默认

附加的基础包:[1] stats graphics grDevices utils datasets methods base

其他附加包:[1] broom_0.4.3 topicmodels_0.2-7

通过命名空间加载(未附加):[1] NLP_0.1-11 Rcpp_0.12.15 compiler_3.4.3 pillar_1.1.0 plyr_1.8.4
[6] bindr_0.1 base64enc_0.1-3 keras_2.1.3 tools_3.4.3 zeallot_0.1.0
[11] jsonlite_1.5 tibble_1.4.2 nlme_3.1-131 lattice_0.20-35 pkgconfig_2.0.1
[16] rlang_0.1.6 psych_1.7.8 yaml_2.1.16 parallel_3.4.3 bindrcpp_0.2
[21] stringr_1.2.0 dplyr_0.7.4 xml2_1 .2.0 stats4_3.4.3 grid_3.4.3
[26] reticulate_1.4 glue_1.2.0 R6_2.2.2 foreign_0.8-69 tidyr_0.8.0
[31] purrr_0.2.4 reshape2_1.4.3 magrittr_1.5 晶须_0.3-2 tfruns_1.2
[36] modeltools_0.2-21 assertthat_0.2.0 mnormt_1.5-5 tensorflow_1.5 stringi_1.1.6
[41] slam_0.1-42 tm_0.7-3

0 投票
1 回答
770 浏览

r - 在具有聚集标准错误的 felm 结果上使用 broom::tidy

我正在尝试从面板数据模型中提取点估计和置信区间。以下使用lfe文档中的固定示例重现了错误。我所做的唯一一个小改动是在公司层面对标准错误进行聚类,以便在est2.

我可以在非集群 SE 版本或包括固定效果的情况下进行整理:

但如果我要求固定效果,我就不能:

错误是这样的:Error in overscope_eval_next(overscope, expr) : object 'se' not found

我不确定这是一个broom侧面问题还是一个lfe侧面问题。我可能做错了什么,但无论我是否对 SE 进行聚类,都应该有固定效应的点估计和标准误差。(而且集群少于 FE 的事实可能是一个计量经济学问题,但它似乎并没有推动这个特定问题。)有什么建议吗?