问题标签 [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.
r - R2 值 - dplyr 和 broom
我正在使用 dplyr 和 broom 组合(如下所示)并使用 dplyr 拟合几个回归模型以按组提取回归的回归系数。但是 - 我也对每个单独回归的 R2 值感兴趣(不仅对于整个模型)。我尝试使用增强和扫视功能 - 但无法提取 R2 值。是否有捷径可寻?
提前谢谢了!
r - 与 dplyr+broom 匹配的条件 nls
我正在使用 dplyr 和 broom 组合,并尝试根据数据组内部的条件拟合回归模型。最后我想提取每组的回归系数。
到目前为止,我对所有组都得到了相同的拟合结果(每个组用字母分隔a:f
)。这是主要问题。
拟合条件可以描述如下;
direc=North
和 if V<J1
do 与方程拟合exp((-t_pw)/f0*exp(-del1*(1-V/J1)^2))
else ifdirec=South
和V>J2
do 与相同的方程拟合。在这两种情况下,如果V<J1
&V>J2
不满足返回1
每种情况。
更新
我发现通过此链接中的建议,条件nls
可以是可能的conditional-formula-for-nls 。
nls_fit
另一方面,当我尝试拟合其他列时,例如 DQ1、DQ2 和 DQ3;
我试过 nls_fit=nlsLM(df[,3:6]~ifelse(.....
nls.lm(par = start, fn = FCT, jac = jac, control = control, lower = lower, : fn 函数的评估返回不合理的值!
现在问题归结为多柱拟合。我怎样才能适应多列DQ0:DQ3
?我检查了如何从数据框中简洁地编写包含许多变量的公式?但找不到在我的数据框中使用的解决方案。
此外,当我DQ0
对其组内的列进行拟合时,您可以从输出中看到,为所有组生成相同的 Del 和 J 参数a:f
df_new
r - 在具有单个 lm 对象的 dplyr 工作流中使用 `broom:::glance` 失败
当我broom:::glance
以以下方式使用时:
我明白了
但是,当我添加一个group_by
:
确实给出了预期的结果:
我在这里遗漏了什么,还是 dplyr/broom 中的错误?
r - R:在数据集的不同子集上应用 Anova 并收集输出的函数
一个常见的任务是必须对数据集的不同子集执行某种统计分析(如 anova、glm 或混合模型),并将输出表与汇总系数和 p 值组合在单个数据框中。我正在寻找一个通用函数,该函数将采用模型类型(例如aov(...)
orlm(...)
或glm(...)
or glmer(...)
)和特定输出项,根据某些分组变量,必须为每个复制分析返回系数和 p 值( s) 在一个人的数据集中。
假设我有一个数据帧,我想在其中对数据帧中不同级别的因子“复制”进行某种分析data
:
使用broom+dplyr
,我可以例如对此数据帧的每个子集进行方差分析(按复制分组)并使用“物种”一词保留 p 值
(我在这里使用了 10 个相同的数据子集作为示例)
我正在寻找一个更通用的函数“ Anovabygroup
”,它将采用数据框、分组变量(这里replicate
,但它也可以是几个分组变量的组合)、要运行的模型类型(例如在这个case 'aov(Sepal.Length ~ Species, data = .)'
,但它也可以是 lm、glm、lme、lmer 或 glmer 模型或由Anova()
) 以及返回系数和 p 值的因子(可能使用选项“all”返回所有内容)作为参数(给定的任何其他选项都可以传递给对 Anova 的调用)。任何人都知道如何使用与上面使用的代码类似的代码来执行此操作,但可以概括为采用这些参数?我不知道该怎么做的主要事情是将模型(例如在这种情况下为'aov(Sepal.Length ~ Species,data = .)')作为参数传递并对其进行评估。或者它可能已经存在于某个包中?我认为这可能很有用,因为我总是发现自己一遍又一遍地编写这个任务......
PS 我使用了 github 版本的 broom 包,因为当前的 CRAN 版本似乎不能很好地处理 Anova 输出
r - 用扫帚将 t 检验结果合并到数据框中
我试图重复对两个向量进行采样100 次,x
并y
在每个样本后计算一个 t 检验。然后我想使用broom
包将结果组合到一个数据框中。我的尝试如下。然而,我所做的只是对相同的两个向量进行 100 次 t 检验。
r - 将 kmeans 的集群/中心重新整理回原始数据帧
这里有一些数据。
现在我在每个组中做 k 意味着:
“kobjs”看起来像这样:
我想获取集群分配(以及理想情况下的中心点)并将它们附加到原始数据框。我以为你可以用扫帚来做到这一点:
但这以某种方式产生了 400X4 矩阵而不是 200X4。那是怎么发生的?如何获得我想要的行为?
EDIT1:通过 aosmith 的一些见解解决了我想要的方式。可能有一种方法可以让它更优雅(left_join 是否必要?)但这是我想要的行为:
r - dplyr 工作流程中带有 do() 的 broom::tidy() 失败,并带有一个 summaryDefault 对象
我想对summary.default()
data.frame 中的变量进行数字汇总(在 base 包中)并在 broom 包中使用 tidy() ,但这不知何故失败了。
在这个例子中,我创建了一个 data.frame:
我加载plyr
(1.8.3)、dplyr
(0.4.2)和broom
(0.3.7)(按此顺序)。仅供参考在 64 位 Windows 上运行 R 3.2.2,但我在 Unix 上遇到与 3.2.1 类似的问题。
我认为这会给我一个理想的输出:
但我收到一条错误消息:
我可以使用如下所示的plyr
方法获得理想的结果:broom::tidy
但很明显,我问这个问题是为了解决在上述函数中使用tidy()
(summaryDefault)问题的根源。do()
r - ggplot2::fortify 的继任者
在最新版本中ggplot2
,?fortify
返回:
描述
我现在推荐使用broom包,而不是使用这个函数, 它实现了更广泛的方法。
fortify
将来可能会被弃用。
该broom
软件包确实提供了许多替代方案(例如augment
)。在什么情况下应该使用哪一种?
我对 SpatialPolygonsDataFrame 的替代方案特别fortify(spdf)
感兴趣spdf
。
r - 使用 broom::augment 函数获取响应规模的预测值
我正在拟合glm
模型,并且可以使用拟合模型在哪里R
获得响应尺度的预测值。我想知道如何使用包中的函数在响应范围内获得预测值。下面给出了我的最小工作示例。predict.glm(object=fm1, type="response")
fm1
augment
broom
r - dplyr::do / purrr::map 比较,有什么优势?
多亏了@drob,broom
我在使用时习惯于对分组数据进行组合和dplyr::group_by
执行操作。dplyr::do
例如,根据齿轮系统为汽车拟合线性模型:
在阅读了@hadley 最近关于我的帖子后,tidyr v0.4.1
我发现使用nest()
和purrr::map()
与之前相同的示例:
顺序改变了,但结果是一样的。
鉴于两者在很大程度上解决了相同的用例,我想知道这两种方法是否都将得到支持。方法会成为规范的tidyverse
方法吗?如果一个不被认为是规范的,哪些用例需要继续支持这两种方法?
根据我的短暂经验:
- 做
- 进度条,在计算许多模型时很好。
- @Axeman 评论:可以使用并行化
multidplyr
broom::glance
较小的对象,但如果我们想要fx.则需要重新运行。
- 地图
- 数据、子集和模型保存在一
tbl_df
- 很容易提取模型的另一个组件,即使
unnest()
需要一些时间。
- 数据、子集和模型保存在一
如果您有一些见解/评论,将很高兴得到一些反馈。